好吧,我已经尝试了好几次了,我确信这是非常微不足道的,但是:我正在尝试通过 Ubuntu 上的命令行使用我使用 key-gen 创建的 RSA 密钥对 SSH 到我的虚拟机 (Centos6) 。
我已经创建了密钥对并将公钥附加到authorized_keys 文件并将权限更改为600
.在我将私钥 SCP 发送到 Ubuntu 并尝试使用它进行 SSH 后,我总是得到:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
我已经尝试过 3 次了,但没有成功。我可以 ping 它,但我似乎无法弄清楚为什么它没有使用我制作的密钥。有什么建议么?
答案1
使用详细模式运行 ssh(根据需要添加尽可能多的 -v)并尝试找出原因。
例如
ssh -vvv user@host
您将获得调试输出,帮助您找出原因。
答案2
首先在您的 Ubuntu 机器上生成密钥对。
之后,将生成的文件内容复制.pub
到 ssh 文件夹 ( ~/.ssh/id_rsa
) 中,并将其粘贴到username/.ssh/id_rsaauthorized_keys
CentOS 上用于登录的特定用户的新行文件中。
答案3
我刚刚在 ClearOS 7.2 上遇到了同样的问题,同时尝试使用 OSX 中的 RSA 通过 SSH 登录。
结果我必须将客户端系统上的私钥(驻留在客户端系统上的私钥,在本例中为 OSX)的文件名添加到 /etc/ssh/ssh_config 文件(这是 ssh 客户端配置文件)客户端机器)。否则,即使该文件以 id_rsa 开头,它也不会查找该文件。
添加的行是:
IdentityFile ~/.ssh/id_rsa.somecomputer
“somecomputer”是您可能拥有的文件名的其余部分。
答案4
如果您tailf /var/log/auth.log
在服务器上再次登录,您应该会看到记录失败的原因。如果没有,请将 SSH 守护程序配置文件中的详细程度提高到“调试”,然后重试。很多时候它与文件权限有关。