【发布时间】:2014-10-22 00:18:24
【问题描述】:
我正在使用ssh-keygen 并且没有提供密码短语,则成功生成并显示了密钥指纹。
然后我给ssh-copy-id user@localhost,然后在提供状态Number of key(s) added : 1之后提示我的用户密码。
现在,如果我在做ssh localhost,它会再次提示输入密码。
如果我这样做ssh user@localhost,它也会要求输入密码。
PS:我使用过:ssh-add 和sudo ufw allow 22 每次我都使用ssh localhost 时似乎没有任何工作正常@ 提示我输入密码。
[编辑]
ssh -v localhost
显示
debug1:SSH2_MSG_KEXINIT 已发送
调试 1:收到 SSH2_MSG_KEXINIT
debug1: kex: server->client aes128-ctr hmac-md5-etm@openssh.com 无
调试1:kex:客户端->服务器aes128-ctr hmac-md5-etm@openssh.com无
debug1:发送 SSH2_MSG_KEX_ECDH_INIT
调试 1:期待 SSH2_MSG_KEX_ECDH_REPLY
debug1:服务器主机密钥:ECDSA b2:58:a9:da:84:3f:43:1c:86:51:ba:cd:b7:88:a3:74
debug1:主机 'localhost' 已知且与 ECDSA 主机密钥匹配。
debug1:在 /home/harsh/.ssh/known_hosts:1 中找到密钥
debug1:ssh_ecdsa_verify:签名正确
debug1:SSH2_MSG_NEWKEYS 已发送
debug1:期待 SSH2_MSG_NEWKEYS
debug1:收到 SSH2_MSG_NEWKEYS
debug1:服务器不允许漫游
调试 1:已发送 SSH2_MSG_SERVICE_REQUEST
调试 1:收到 SSH2_MSG_SERVICE_ACCEPT
debug1:可以继续的身份验证:公钥、密码
debug1:下一个认证方法:publickey
debug1:提供 DSA 公钥:/home/harsh/.ssh/id_dsa
debug1:可以继续的身份验证:公钥、密码
debug1:提供 RSA 公钥:/home/harsh/.ssh/id_rsa
debug1:可以继续的身份验证:公钥、密码
debug1:尝试私钥:/home/harsh/.ssh/id_ecdsa
debug1:尝试私钥:/home/harsh/.ssh/id_ed25519
debug1:下一个认证方法:密码
苛刻@localhost 的密码:
【问题讨论】:
-
您的公钥在
.ssh/authorized_keys文件中吗? -
您可以运行
ssh -v user@localhost并检查调试输出以查看 ssh 客户端尝试了哪些私钥,以及结果如何。 -
@knittl 是的,公钥在那里
-
尝试私钥
.ssh/id_ecdsa和.ssh/id_ed25519然后显示下一个身份验证方法:密码