SSH Authorized_Key 登录仅在一个方向上有效

SSH Authorized_Key 登录仅在一个方向上有效

我的设置中有三个文件:

id_rsa
id_rsa.pub
authorized_keys

authorized_keys有内容副本id_rsa.pub以允许无密码登录。

这些文件已在两台计算机之间复制。如果我从计算机 1 ssh 到计算机 2,则一切正常。如果我从计算机 2 ssh 到计算机 1,则系统会提示输入密码。有人能告诉我为什么会发生这种情况吗?

此外,两个系统都运行 Ubuntu 10.04。我在两个系统上都重新安装了 openssh-server 软件包。文件的权限相同。/etc/sshsshd_configssh_config文件相同。我已经运行过-v -v -v,两个会话之间的唯一区别是,一个会话显示“服务器已接受密钥”,另一个会话则继续输入密码。

那么还剩下什么需要检查吗?

答案1

您可以通过停止服务器并从命令行运行它来获取服务器调试输出:

sudo /usr/sbin/sshd -Dd

尝试从另一台计算机登录后,我得到了以下输出:

...
Authentication refused: bad ownership or modes for directory /home/user
...

检查我的目录:

ls -l /home/user
drwxrwxr-x 142 user user 7.7K 06-19 15:45 /home/user/

正确的权限应该是:

chmod 750 /home/user

我这样做之后,它现在就可以工作了。

答案2

您是否将计算机1的指纹添加到.ssh/authorized_keys计算机2上?

此外,您不应在多个盒子中使用相同的私钥,因为如果其中一个盒子被破解,安全性就会降低。我个人对每个服务器的每个客户端使用一个密钥。

答案3

除了 Daenyth 的回答之外,还有一件事要检查,那就是两台计算机上 ~/.ssh 目录中的文件所有权和权限。

确保您被设置为该目录中所有文件的用户:chown *USERNAME*: ~/.ssh/*

另外,检查文件权限是否允许你的用户读写,但不允许团体或者其他chmod 600 ~/.ssh/*

相关内容