我创建了自己的EBS AMI,与另一个AWS账户共享,基于此图像使用NEW密钥对启动了新实例,现在当我尝试连接到这个新实例时,我收到错误:“服务器拒绝我们的关键“。
这就是我所做的(一步一步):
如何从我的图片中创建新实例以接受新的密钥对? 我甚至尝试删除原始图像中的“.ssh / authorized_keys”文件,在没有公钥的情况下基于此图像启动新实例,但仍然没有成功。
请告知如何创建无法附加到旧密钥对的图像
答案 0 :(得分:34)
我遇到了与该错误消息类似的问题,以下是我修复它的方法。希望这可以帮助你,或其他困难的人,并在这里找到自己的方式:
答案 1 :(得分:13)
我在新的SUSE实例中遇到了这个问题。我终于能够使用用户'root'进行连接。它一直拒绝ec2用户。
答案 2 :(得分:11)
这意味着您没有使用正确的用户名登录ec2实例。这里是您可以在putty中连接到ec2实例的用户列表 对于Amazon Linux AMI,用户名为 ec2-user 。 对于RHEL5 AMI,用户名为root或 ec2-user 。 对于Ubuntu AMI,用户名为 ubuntu 。 对于Fedora AMI,用户名是 fedora 或 ec2-user 。 对于SUSE Linux,用户名为 root 或 ec2-user 。 否则,如果ec2-user和root不起作用,请与AMI提供商联系。
答案 3 :(得分:3)
由于您的AMI源自社区AMI而非官方公共AMI,因此可能尚未设置为在实例启动时复制ssh密钥,或者它使用不同的机制来执行此操作。
我的理解是,对于在启动时复制的ssh密钥,必须在实例本身内运行一些shell脚本,如简要描述here。
AMI description page提到它已经“启用了云启动”,所以也许有办法通过CloudInit来实现。请参阅文档here。
答案 4 :(得分:1)
我遇到了这个问题,原来我是ec2-user的时候才输入ec2_user
答案 5 :(得分:0)
这可能只是显示服务器拒绝我们的密钥的一个原因。
即:服务器的密钥对和用户名组合不正确,我已经多次面对过。
答案 6 :(得分:0)
默认情况下,亚马逊会使用现有密钥附加新密钥。我们可以通过将驱动器安装在其他活动实例上来解决它,并从文件.ssh / authorized_keys中删除内容并添加新密钥的pem密钥文件。
答案 7 :(得分:0)
我通过选择用户作为AWS ubuntu machin的ubuntu解决了我的问题。因此,请验证正确的用户帐户和机器类型。
请查看以下链接: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/putty.html
答案 8 :(得分:0)
我也只是更新我的案例作为答案。我曾经使用主机名 find -L ./ -xdev -mindepth 15
(公共 IPv4 DNS)与腻子中的保存部分进行连接。昨天我停止了实例,并在今天早上启动实例(aws)后尝试连接时开始面临这个问题。
解决方案:
重新启动后,公共 IPv4 DNS 记录 (ec2-38-239-22-12.us-east-2.compute.amazonaws.com
) 已更改。记录到 AWS 控制台并使用新记录更新腻子部分。这解决了问题!!
答案 9 :(得分:0)
就我而言,我使用的是 Elastic Beanstalk,并且在启动它之前没有将我的密钥对分配给我的配置。要解决此问题: