为什么我无法通过 ssh-copy-id 到 EC2 实例?

为什么我无法通过 ssh-copy-id 到 EC2 实例?

我在 EC2 上有一个 ubuntu Natty 实例,我可以通过以下方式通过 SSH 进入它

ssh -v -i ec2-keypair ubuntu@[email protected]

但我想设置无密码 ssh。所以我尝试了这些选项,但都不起作用:

 $ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
Permission denied (publickey).

 $ ssh-copy-id -i ~/.ssh/ec2-keypair [email protected]
/usr/bin/ssh-copy-id: ERROR: No identities found

 $ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
Permission denied (publickey).

答案1

我需要跑

ssh-add ~/.ssh/ec2-keypair

答案2

做就是了:

scp -i ec2-keypair ~/.ssh/id_rsa.pub [email protected]:~/

然后

ssh -i ec2-keypair [email protected]

当您登录时:

cat id_rsa.pub >> .ssh/authorized_keys
rm id_rsa.pub
exit

现在你可以使用

ssh [email protected]

答案3

我遇到了同样的问题:在 AWS EC2 实例上ssh-copy-id出现错误Permission denied (publickey)。我确信我使用 正确设置了所有权限chmod

此外,我需要将这一行/etc/ssh/sshd_config

PasswordAuthentication no

PasswordAuthentication yes

我猜那是因为它ssh-copy-id要求您输入密码。

然后错误消失了。

答案4

ssh-copy-id 似乎对连接一个密钥以复制另一个密钥感到困惑。

我的解决方案:

ssh-copy-id -f "-o IdentityFile ec2-keypair.pem" [email protected]

分解:

  • -o IdentityFile ec2-keypair.pem:我正在使用“原始”ssh 选项通过 AWS 生成的密钥进行连接。
  • -f:ssh-copy-id 尝试再次复制 AWS 生成的密钥,因此需要强制模式来复制其他钥匙。

相关内容