我在 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 生成的密钥,因此需要强制模式来复制其他钥匙。