好的,我正在尝试使用 SSH 从一台服务器连接到另一台服务器。
我已经使用 ssh-copy-id 将密钥从“客户端”机器复制到“服务器”,但它仍然出现密码提示,因此我检查了 /var/log/secure 中的日志并看到“身份验证被拒绝:目录的所有权或模式错误”错误,我使用用户帐户(非 root 帐户)的 .ssh 目录和文件上的 chmod 修复了该错误。
现在 /var/log/secure 文件中不再报告任何错误,“客户端”端 ssh 的 -v 日志显示以下内容:
debug1: Next authentication method: publickey
debug1: Trying private key: /root/.ssh/identity
debug1: Offering public key: /root/.ssh/id_rsa
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Trying private key: /root/.ssh/id_dsa
debug1: Next authentication method: password
然后它要求输入密码...Selinux 已禁用。
有任何想法吗?
谢谢
斯图尔特
答案1
首先,您对.ssh目录应该是:
drwx------
关键文件应该是:
-rw-------
完成此操作后,在您的服务器上.ssh/授权密钥附加用于身份验证的公钥。
此外,名称应为 id_dsa* 或 id_rsa*,以使默认 ssh 正常工作。如果您有其他名称,请使用以下命令:
ssh -i /path/to/mykey
答案2
好的,我找到了问题所在 - 原来用户的 .ssh 目录归 root 所有,而不是用户本身。这似乎不会在日志中触发“身份验证被拒绝:目录所有权或模式错误”错误,我觉得这有点奇怪。