And*_*edd 22 ssh authentication
我的机器最近停止接受传入的公钥身份验证。我有一个 ubuntu 11.04 桌面,我从 Windows 机器 ssh 进入。我在选美上使用腻子。我能够连接,但只能使用交互式密码身份验证,而不能使用我设置的 rsa 密钥。
我已经确认密钥在 ~/.ssh/authorized_keys 中列出。我该如何解决这个问题,我要检查什么?
Gil*_*il' 29
如果公钥验证不起作用:确保在服务器端,您的主目录 ( ~)、~/.ssh目录和~/.ssh/authorized_keys文件都只能由它们的所有者写入。特别是,它们中的任何一个都不能被组写入(即使用户在组中是单独的)。chmod 755或者chmod 700可以,chmod 770不是。
出现问题时要检查的内容:
ssh -vvv可以看到很多调试输出。如果您发布了一个问题,询问为什么您无法使用 ssh 连接,请包含此输出(您可能希望对主机名和用户名进行匿名化)。/var/log/auth.log。小智 11
我遇到了同样的事情,最后发现这是因为我加密了我的主目录。在您登录之前,SSH 无法读取authorized_keys 文件,因此基本上它会强制您先进行密码验证。请参阅以下链接中有关加密主目录的部分:
https://help.ubuntu.com/community/SSH/OpenSSH/Keys#Encrypted_Home_Directory
小智 5
如果您检查目录的权限,并且有一个“。” 紧随其后,您可能启用了 selinux,这会使密钥交换变得混乱,并且默认为手动密码识别。
您可以按照此处的说明禁用 SELinux 以进行故障排除:http : //www.centos.org/docs/5/html/5.1/Deployment_Guide/sec-sel-enable-disable-enforcement.html,或仅编辑 /etc /selinux/config 文件并将其从“强制”更改为“禁用”。
希望这可以帮助。