为什么即使在远程主机上设置了 authorized_keys 文件,基于密钥的 ssh 仍然会失败?

为什么即使在远程主机上设置了 authorized_keys 文件,基于密钥的 ssh 仍然会失败?

这些细节并不重要,但我在一台 Ubuntu 12.04 机器上,我想不使用密码通过 ssh 进入我的 RaspberryPi。我遵循了不使用密码设置 ssh 的标准程序:

local $  ssh-keygen -t rsa

(按回车键选择默认问题)

local $  scp ~/.ssh/id_rsa.pub matt@raspihost:~/.ssh/authorized_keys

我登录了 raspihost,检查了我对~/.ssh/文件authorized_keys本身的所有权限。仍然不工作!

答案1

这个解决方案是由这个问题的原始发布者编写的,布拉德·格里森

问题最终是用户目录本身的权限过于开放777,需要进行限制755

raspihost $  ls -lhF /home/
drwxrwxrwx 5 matt matt 4.0K Oct 17 18:24 matt/
raspihost $  chmod 755 /home/matt

现在无需密码的 ssh 就可以正常工作了!

答案2

我建议使用ssh-copy-id复制公钥。这将确保远程端的所有权限都是正确的,并且永远不会发生此问题。

像使用一样使用它ssh

ssh-copy-id user@host

相关内容