SSH连接要求密码而不是密钥

好,所以我试图用SSH连接从一台服务器到另一台服务器。

我已经使用ssh-copy-id从“客户”机器复制到“服务器”的密钥,它仍然提出密码提示,所以我检查了/ var / log / secure中的日志,并看到“身份validation拒绝:目录错误的所有权或模式“,我在用户帐户(非root帐户).ssh目录和文件上使用chmod修复了这个错误。

现在,在/ var / log / secure文件中不再有任何错误报告,在'client'端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 

然后它要求input密码… Selinux被禁用。

有任何想法吗?

谢谢

斯图尔特

首先,你对.ssh目录的权限应该是:

 drwx------ 

关键文件应该是:

 -rw------- 

在你pipe理这个之后,在你的.ssh / authorized_keys服务器上追加你的用于authentication的公钥。

此外,名称应该是id_dsa *或id_rsa *默认ssh工作。 如果你有其他的名字,使用这个:

 ssh -i /path/to/mykey 

好吧,我已经find了什么问题 – 事实certificate,用户的.ssh目录由root拥有,而不是用户本身。 看来这不会触发日志中的“身份validation被拒绝:错误的所有权或模式的目录”错误,我觉得有点奇怪。