ssh公钥匙登录失败原因


配置参数未开启

打开远程主机/etc/ssh/sshd_config,去掉下面几行前面的"#"注释

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

然后重启ssh服务

service ssh 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 59 15:38 root

使用"chmod og-w /root"修改为

drw-xr-r. 1 root root 942 57 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中



上篇: shell中怎么注释多行 下篇: 如何配置django静态文件路径