我不小心覆盖了.ssh / authorized_keys中的条目。 现在我无法再使用我的.pem文件连接到我的EC2实例。 我试图生成一个新的.pem文件,希望该进程将条目添加到.ssh / authorized_keys,但它没有。我试着阅读文档,但对我来说有点困惑。 能够就此提供简化解释/说明的人非常感谢。
答案 0 :(得分:5)
如果实例是基于EBS的,您可以执行以下操作:
准备好authorized_keys
文件的正确副本。从另一个实例中取出它,或者从整块布料中重建它,或者从快照中取出它,或者使用新的pem文件,或其他任何实例。
停止您无法触及的实例(不要终止)。这一步是不可避免的。如果您因为运行重要内容而无法停止该实例,那么您就是SOL。
从已停止的实例中分离根卷。它应该是/dev/sda1
之类的东西。请务必为其命名,以便在卷列表中找到它。
将其附加到另一个安装点的其他实例,例如/dev/sdp
。
将卷安装到该实例上的tmpdir中。跟mkdir /tmp/myrootvol && mount /dev/xvdp /tmp/myrootvol
说。请注意,设备名称将根据您的Linux版本而有所不同(如果您根本不使用Linux)。许多旧版本将使用不同的命名法。
此时,您已在/tmp/myrootvol
处安装了文件系统,根卷。修复authorized_keys
文件,然后卸载设备,并分离卷。
将卷重新附加到/dev/sda1
处的原始实例或最初附加的设备名称。
重新启动该实例。
你去吧。您将拥有一个可访问的EC2实例。但哇这是一种痛苦不是吗?