之前一切正常,但不确定是不是突然停止了工作。
我已将 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