ssh公钥匙登录失败原因

一、配置参数未开启

打开远程主机/etc/ssh/sshd_config,去掉下面几行前面的"#"注释
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
然后重启ssh服务
service sshd restart

二、目录权限不正确

查看/var/log/secure文件,发现提示
May  9 15:25:17 localhost sshd[54931]: Authentication refused: bad ownership or modes for directory /root
 
查看此时ssh用户的目录权限
drwxrwxrwx   9 root root  4096 5月   9 15:38 root
 
使用"chmod og-w /root"修改为
drw-xr-r. 1 root root 942 5月   7 16:57 anaconda-ks.cfg
这里权限只是一个示例,大部分机器上的root目录权限不是这样的.

三、密钥未添加到ssh-agent

ssh调试信息中出现
➜  ~  ssh -v root@192.168.8.11
...
Agent admitted failure to sign using the key
...
 
解决办法
➜  ~  ssh-add
Identity added: /home/wyq/.ssh/id_rsa (/home/wyq/.ssh/id_rsa)
ssh-agent用于管理公钥身份验证所使用的私钥,ssh-add用于将密钥加入到ssh-agent中