ssh - 找到匹配的 key ,但仍需要密码 [preauth]

标签 ssh ssh-keys openssh

我使用 SSH 连接到机器。没有密码访问,只有一个现有的 SSH key 有效。

我需要创建一个我喜欢这样做的新 key (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>

但我仍然收到密码提示。所以我在 Debug模式下再次尝试使用 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]

我究竟做错了什么?为什么在提示“找到匹配的 key ”时仍然提示密码?我该如何解决?

最佳答案

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

关于ssh - 找到匹配的 key ,但仍需要密码 [preauth],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25422003/

相关文章:

linux - 从 bash 脚本添加 ssh 并自动输入密码

bash - 如何在脚本中使用 ping

git - 如何为我的新 gitlab 帐户生成新的 ssh-key?

SSH自动登录_不使用 key _:(

ssh - 如何在 rhc 设置期间为 ssh key 加载指定不同的位置?

ssh - 在 Windows 10 上启动 ssh-agent 失败 : "unable to start ssh-agent service, error :1058"

ssh - 如何使.ssh/config文件主机名可配置

c# - 如何使用 SSH 连接与 linux 服务器连接?

php - Vesta CP 和 RoundCube 邮件数据库错误

Git (1.7.10) 每次都询问我的用户名和密码