2017-02-23 42 views
1

你的.ssh/authorisedKey我已经改变了的.ssh/authorisedKey AWS服务器上。在此之后,我断开了终端。现在,当我尝试用新密钥再次登录时,我得到授权失败..是否有任何其他方式将原始密钥不登录到终端实例...任何人都可以引导我在正确的方向吗? 感谢如何改变AWS

+0

是你的公共ssh密钥,使用它你正在进入实例? –

回答

0

如果无法ssh到一个Amazon EC2 Linux实例,可以替换为ec2-user与此进程相关联的密钥对:

  • 停止您的EC2实例
  • 拆离 (记住设备ID,例如/dev/xvda
  • 启动另一个EC2实例(“D ebug实例“)
  • 附加 EBS卷到调试实例
  • 登录到调试情况下,访问量产生额外的和新的密钥对复制到/home/ec2-user/.ssh/authorized_keys(如果你不知道什么复制,该文件从调试实例的相同位置复制。)
  • 卸载分离从调试实例的EBS卷
  • 附加 EBS卷到原来的实例(例如为/dev/xvda
  • 引导原来的实例,并尝试登录
  • 终止调试实例

类似的概念在这里是:

0

遵循以下步骤: -
1.停止您的实例。
2.转到AWS管理控制台的操作选项卡,并在实例设置下,转到查看/更改用户数据。 (附上的是同样的屏幕截图)。
3.您可以将ssh密钥添加到实例的用户数据中。

#!/bin/bash 
your-public-key-content >> <home folder of your user>/.ssh/authorized_keys 

例如: - 我的实例是amazon-linux,所以下面的2个命令组成我的用户数据。

#!/bin/bash 
echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAbcl5yLq9YUZ6p11eOEUKNyyksdjhfkslfhks amitk" >> /home/ec2-user/.ssh/authorized_keys . 
  • 启动实例,并再次尝试SSH。
  • 编辑: - 您需要启动实例这样的,然后包括用户数据的新实例。感谢迈克尔 - sqlbot指出这一点。

    +0

    这不仅仅是在初始启动时才起作用吗? –

    +0

    通过这个过程我的问题解决其实不是我最初的启动和我的两个实例在同一设备/ dev/xvda我的另一个ssh密钥由此过程更改?感谢您的回复 – Scorpio

    +0

    先生这个过程是不适合我的工作。为什么在你的示例的最后使用点不会添加它 – Scorpio