最近给几台机器设置 ssh 公钥登陆的时候发现老是失败,putty 和 ssh 命令都显示认证被拒绝。今天想搞一个 git server,又碰到这个问题了,想着还是得解决一下才行。

一开始想换个环境于是在虚拟机里先做个测试,果然也出现了无法登录的情况。。。查看 /var/log/secure 日志,可以发现有下面这样的信息:
Authentication refused: bad ownership or modes for file /home/testuser/.ssh/authorized_keys
上网查了一下,发现是 ssh 对文件以及目录的权限有要求,随意设置会导致 ssh 不认这个文件。同时又想起使用 ssh 命令登录时有时会提示你私钥权限过大而忽略这个私钥