sshd为了安全,对属主的目录和文件权限有所要求。如果权限不对,则ssh的免密码登陆不生效。
当不知道什么问题的时候,可以更改/etc/ssh/sshd_config里的
LogLevel 的等级改为 DEBUG3
然后重启运行ssh,
然后登陆ssh
ssh -i username@ip
这样就可以在一般在/var/log/auth.log就会有登陆失败的具体原因。
一般失败的原因有以下:
1,sshd为了安全,对属主的目录和文件权限有所要求。如果权限不对,则ssh的免密码登陆不生效。
用户目录权限为 755 或者 700,就是不能是77x。
.ssh目录权限一般为755或者700。
rsa_id.pub 及authorized_keys权限一般为644
rsa_id权限必须为600
如果不想更改权限,可以
更改/etc/ssh/sshd_config为:
#AuthorizedKeysFile %h/.ssh/authorized_keys
AuthorizedKeysFile /etc/ssh/%u/authorized_keys
然后在/etc/ssh/下创建 username/authorized_keys
然后把rsa_id.pub的内容添加进来就可以了。
2,
如果客户端登录时出现“Agent admitted failure to sign using the key”
则在客户端 ssh-add ~/.ssh/id_rsa