Amazon EC2:如何恢复〜/ .ssh / authorized_keys文件?

时间:2016-01-21 03:38:04

标签: amazon-web-services ssh amazon-ec2

我不小心覆盖了.ssh / authorized_keys中的条目。 现在我无法再使用我的.pem文件连接到我的EC2实例。 我试图生成一个新的.pem文件,希望该进程将条目添加到.ssh / authorized_keys,但它没有。我试着阅读文档,但对我来说有点困惑。 能够就此提供简化解释/说明的人非常感谢。

1 个答案:

答案 0 :(得分:5)

如果实例是基于EBS的,您可以执行以下操作:

  1. 准备好authorized_keys文件的正确副本。从另一个实例中取出它,或者从整块布料中重建它,或者从快照中取出它,或者使用新的pem文件,或其他任何实例。

  2. 停止您无法触及的实例(不要终止)。这一步是不可避免的。如果您因为运行重要内容而无法停止该实例,那么您就是SOL。

  3. 从已停止的实例中分离根卷。它应该是/dev/sda1之类的东西。请务必为其命名,以便在卷列表中找到它。

  4. 将其附加到另一个安装点的其他实例,例如/dev/sdp

  5. 将卷安装到该实例上的tmpdir中。跟mkdir /tmp/myrootvol && mount /dev/xvdp /tmp/myrootvol说。请注意,设备名称将根据您的Linux版本而有所不同(如果您根本不使用Linux)。许多旧版本将使用不同的命名法。

  6. 此时,您已在/tmp/myrootvol处安装了文件系统,根卷。修复authorized_keys文件,然后卸载设备,并分离卷。

  7. 将卷重新附加到/dev/sda1处的原始实例或最初附加的设备名称。

  8. 重新启动该实例。

  9. 你去吧。您将拥有一个可访问的EC2实例。但哇这是一种痛苦不是吗?