即使添加了 ssh 密钥后服务器仍要求输入密码

即使添加了 ssh 密钥后服务器仍要求输入密码

之前一切正常,但不确定是不是突然停止了工作。

我已将 localhost 的 id_rsa.pub 密钥添加到服务器上 .ssh 文件夹的 authorized_keys 中。当我尝试使用 localhsot 登录服务器(运行 ubuntu 12.10)时

ssh account@ip

它要求输入密码。我不确定我做错了什么,因为它看起来是一个非常简单的过程,之前运行得很好。有什么帮助吗?

答案1

可能存在很多问题,从不正确的权限到加密的主目录。

总的来说,ssh-copy-id这是传输密钥的最佳方法,因为它可以自动化整个过程。

ssh-copy-id -i key_name user@server

http://bodhizazen.com/Tutorials/SSH_keys#Transfer了解详情

但是,如果您使用的是加密主目录,则需要配置 ssh 服务器以在其他位置查找密钥。在这种情况下,您可以编辑 /etc/ssh/sshd_config 并编辑密钥文件的位置。

如果全部失败,请发布输出

ssh -vvv user@server

-vvv 选项将显示详细的错误消息。

答案2

我也遇到了同样的问题。在我的环境中,我有两个帐户(帐户1账户2)我在帐户1并且它运行正常。

然后我从帐户1账户2并在那里尝试了,但是它没有按预期工作,要求我输入密码......

原因是:.ssh 目录中文件的所有权。acct2 用户不是这些文件的所有者。

-rw-------  1 root   root    408 Aug 10 16:53 id_rsa.pub

-rw-------  1 **root**   **root**   1675 Aug 10 16:53 id_rsa

-rw-r--r--  1 acct2 acct2  444 Aug 10 16:54 known_hosts

所以我只是将文件的所有权更改为 acct2 用户。

sudo chown acct2:acct2

现在它看起来如下所示并且运行正常。

-rw-------  1 acct2   acct2    408 Aug 10 16:53 id_rsa.pub

-rw-------  1 **acct2**   **acct2**   1675 Aug 10 16:53 id_rsa

-rw-r--r--  1 acct2 acct2  444 Aug 10 16:54 known_hosts

相关内容