2017-02-17 117 views
0

我有几周前创建的AMI。我想启动一个新的AWS EC2实例并将该AMI作为映像提供。问题是,我现在不能ssh进入那个盒子。AWS - 从AMI创建新实例,但丢失密钥?

我试图在启动新实例时附加一个新的密钥对,但它就好像配置的SSH密钥在盒子上忽略了我新连接的密钥对。

有没有办法解决这个问题?

我知道我的新密钥对的作品,我已经在一个完全空白的新实例上进行了测试,并且我可以很好地使用SSH。

任何帮助,非常感谢!

+0

是您的EC2实例允许从您的IP地址上的端口22的连接安全组? – spg

+0

不是端口22不,我使用不同的端口,但安全组确实允许。网络应该不是问题。我可以到达实例,它只是说“权限被拒绝(公钥)”。 – user1840352

+0

什么linux发行版是AMI?你试图用ssh登陆的用户是什么? – helloV

回答

3

第一次引导磁盘时,密钥对仅被复制到Amazon EC2实例。由于您已从该磁盘(或从中创建映像的磁盘)启动,因此它不会再次复制密钥对。

您将需要将新密钥对复制到/home/ec2-user/.ssh目录。

  • 停止实例(Instance 1
  • 拆离EBS卷(请记录该设备标识符,例如/dev/xvda
  • 附上:这可以通过EBS卷附接至不同的实例来进行EBS卷到另一个Linux实例(Instance 2
  • 编辑/home/edc2-user/.ssh/authorized_keys文件,插入您所需的公钥
  • 拆离EBS从Instance 1量,它重新连接到Instance 2
  • 开始Instance 1和ssh它使用新的密钥对

见文档:Connecting to Your Linux Instance if You Lose Your Private Key

+0

这是一个ubuntu 14.04发行版,所以不确定它是否能像亚马逊Linux一样工作。将不得不测试它。不管怎么说,还是要谢谢你。 – user1840352