我无法使用我的 ssh id_rsa/id_rsa.pub 密钥,因为 ssh 似乎认为输入的密码是错误的。但我确信它是正确的。它看起来如下:
ssh myuser@myhost_ip -i ~/.ssh/id_rsa.pub
The authenticity of host 'myhost_ip (myhost_ip)' can't be established.
RSA key fingerprint is SHA256: (some hash).
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'myhost_ip' (RSA) to the list of known hosts.
Enter passphrase for key '/Users/paul/.ssh/id_rsa.pub':
Enter passphrase for key '/Users/paul/.ssh/id_rsa.pub':
Enter passphrase for key '/Users/paul/.ssh/id_rsa.pub':
据我所知,它认为密码错误。在此之前,我还遇到了另一个问题(我不确定,但也许它们有关联?):
Permissions 0644 for '/Users/paul/.ssh/id_rsa.pub' are too open.
然后我用 修复了它chmod 400 ~/.ssh/id_rsa.pub
。我不确定为什么会出现此问题,我猜测这些密钥是在 Ubuntu 上生成的,然后移到了 MacOS。
所以问题是:为什么 ssh 不接受我的密码以及如何解决这个问题?
答案1
公钥没有密码,私钥有。
您错误地尝试使用公钥作为您的身份,这绝对行不通。请使用您的私钥。
答案2
您指向的是公共文件。您需要公开私有文件:
ssh myuser@myhost_ip -i ~/.ssh/id_rsa
这也反映在有关模式的消息中,因为如果您愿意,公钥可以是 666。
事实上,您可以-i
完全省略该选项,因为这是默认文件。
答案3
ssh myuser@myhost_ip -i ~/.ssh/id_rsa.pub
这应该是
ssh myuser@myhost_ip -i ~/.ssh/id_rsa
您应该使用您的私钥而不是您的公钥。