匹配密钥找到,但仍需要密码[preauth]

时间:2014-08-21 08:50:42

标签: ssh ssh-keys openssh

我使用SSH连接到计算机。没有密码访问权限,只有现有的SSH密钥可用。

我需要创建一个新的密钥(production.key,production.key.pub),我这样做,而不选择密码:

cd /home
sudo ssh-keygen -t rsa

然后我将公钥复制到机器上,如下所示:

cat /home/production.key.pub | ssh -i /home/old_key user@<IP> "cat >> /root/.ssh/authorized_keys"

然后我试着像这样登录:

ssh -i /home/production.key user@<IP>

但我仍然会收到密码提示。所以我在调试模式下再次尝试使用sshd,得到了这个输出:

debug1: matching key found: file /root/.ssh/authorized_keys, line 2 RSA XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX
debug1: restore_uid: 0/0
Postponed publickey for root from XX.XX.XX.XX port 60407 ssh2 [preauth]
debug1: userauth-request for user root service ssh-connection method password [preauth]

我做错了什么?为什么我说“找到匹配的密钥”时仍然会收到密码提示?我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

我从sshd收到了相同的消息,并发现客户端实际上缺少私钥文件。那里只有公钥。

答案 1 :(得分:-2)

我通过将私钥的权限从600更改为644来修复此问题:

 sudo chmod 644 /home/production.key