记一次ssh免密登录失败

偶然发现一台机器ssh免密登录不了,总是提示密码,这台机器为A

首先,确定不是本地的问题,因为可以免密到其他服务器上。

其次,考虑是不是秘钥问题,删除A机器上~/.ssh/authorized_keys 文件中对应的公钥,使用ssh-copy-id 重新将秘钥拷贝到服务器上,发现依旧不能登录

然后,查找服务器上日志 /var/log/secure 发现:

Authentication refused: bad ownership or modes for file /root/.ssh/authorized_keys

确定是路径权限问题(ssh要求安全模式时候必须仅用户路径权限)
修改 /etc/ssh/sshd_config 中的StrictModes设置

StrictModes no

重启sshd

重启成功后发现可以登录,确定是路径问题,


StrictModes 修改回去(默认 StrictModes yes 或者注释掉)

然后设置 /root/.ssh/authorized_keys 目录权限

chmod 600 /root/.ssh/authorized_keys

发现还是不可用。

仔细观察(观察了很久很久)

发现tmd谁把 root 目录权限改成 nobody的了。。

改回 root组

chmod root:root /root/.ssh/authorized_keys
chmod root:root /root/.ssh/
chmod root:root /root/

终于好了

发表新评论