如果丢失由 EBS 支持的实例的私有密钥,您可以重新获取对您实例的访问权限。您必须停止实例,断开根卷并将其作为数据卷连接到另一个实例,然后修改 authorized_keys 文件,将卷移回原始实例,并重启实例。如果根设备是实例存储卷,则必须拥有私有密钥才能连接到实例。
- Stop (停止) 要连接到的原实例
- 注意:记下原始实例的实例存储设备的分区号,如/dev/xvda。
- 卸载原实例大的根卷,并挂载到临时实例(新起的临时使用的linux实例)上
- 连接到临时实例。
- 在临时实例中,安装连接到实例的卷,以访问其文件系统。例如,如果设备名称为 /dev/sdf,请使用以下命令将卷作为 /mnt/tempvol 安装。
- 使用 lsblk 命令确定卷是否已分区。

7. 创建临时目录并挂载卷
[ec2-user ~]$ sudo mkdir /mnt/tempvol
使用之前确定的卷名称或设备名称在临时安装点安装卷(或分区)。
[ec2-user ~]$ sudo mount /dev/xvdf1 /mnt/tempvol
8. 在临时实例上,使用以下命令将已安装卷上的 authorized_keys 更新为来自临时实例 authorized_keys 的新公有密钥(可能需要在以下命令中换入不同的用户名,如用于 实例的 ubuntu):
[ec2-user ~]$ cp .ssh/authorized_keys /mnt/tempvol/home/ec2-user/.ssh/authorized_keys
9.如果复制成功,则可以转到下一步骤。
10. 在临时实例中,卸载已连接的卷,以将其重新连接至原始实例。例如,使用以下命令卸载 /mnt/tempvol 处的卷:
[ec2-user ~]$ sudo umount /mnt/tempvol
11.从临时实例中卸载卷,重新挂载到原实例上即可。
12.登录原实例进行验证。

查看更多内容,微信搜索公众号“AWS Azure技术分享”。