设置 AuthorizedKeysFile 值会导致 ssh 失败吗?

设置 AuthorizedKeysFile 值会导致 ssh 失败吗?

通过 ssh 远程重启我的 ubuntu 机器后,我无法再 ssh 到该机器。 有人建议这是由于我的主目录正在加密里面锁着authorized_keys。所以我逐字逐句地采纳了同样的建议,并添加AuthorizedKeysFile /etc/ssh/.authorized_keys到我的 中sshd_config

但后来我Permission denied (publickey)尝试了任何 ssh,包括ssh localhost,结果中都显示“192.168.1.8 端口 63398 ssh2 中 myusername 的公钥失败” /var/log/auth.log。我发现修复此问题的唯一方法是注释掉该AuthorizedKeysFile设置(也许还可以执行sudo service ssh restart)。当然,这又让我在重启后再次遇到 ssh 连接问题。

我的/etc/ssh/.authorized_keys权限与原始权限一样为 600。~/.ssh/authorized_keys有什么想法吗?

答案1

您说得对:

AuthorizedKeysFile    /etc/ssh/.authorized_keys

/etc/ssh/sshd_config正确地将所有公钥从 移动~/.ssh/authorized_keys/etc/ssh/.authorized_keys

问题在于,文件/etc/ssh/.authorized_keys的所有者root和权限意味着只有可以读写该文件,而不是您登录的用户。600root

要解决该问题,请让用户成为文件所有者,如果用户是,foobar则执行以下操作:

sudo chown foobar /etc/ssh/.authorized_keys

其余一切保持原样。

相关内容