丢失了私有密钥后如何连接到EC2实例

我丢失了私有密钥。我怎样才能连接到我的 Linux 实例?

步骤 1:创建新的密钥对

使用 Amazon EC2 控制台创建新的密钥对。

步骤 2:获取有关原始实例及其根卷的信息

获取有关原始实例的信息

1.在导航窗格中选择实例,然后选择要连接到的实例。(我们将此称为原始实例。)

2.在详细信息选项卡上,记下实例 ID 和 AMI ID。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XkTRUvkD-1684304892056)(C:\Users\Stati\AppData\Roaming\Typora\typora-user-images\image-20230517134656829.png)]
在这里插入图片描述

实例 ID: i-0ceb8a938763b6b17
AMI ID:ami-03bfc93e0be13a77f

3.在网络选项卡上,记下可用区。
在这里插入图片描述

可用区:ap-east-1a

4.在存储选项卡的下,记下根卷的设备名称(例如 /dev/xvda)。然后,在块存储设备下,查找此设备的名称并记下卷 ID(例如 vol-0a1234b5678c910de)。

根设备名称:/dev/xvda
卷ID:vol-03311cee8f787ac36

在这里插入图片描述

步骤 3:停止原始实例

依次选择原始实例实例状态停止实例

步骤 4:启动临时实例

启动临时实例
  1. 在导航窗格中,选择实例,然后选择启动实例
  2. 在名称和标签部分,对于名称,输入Temporary
  3. 在应用程序和操作系统映像部分中,选择您启动原始实例时所用的 AMI。
  4. 在实例类型部分中,保留默认的实例类型。
  5. 在密钥对部分中,对于密钥对名称,选择现有密钥对进行使用或创建新密钥对。
  6. 在网络设置部分,选择编辑,然后为子网,选择与原始实例位于同一可用区的子网。
  7. 在摘要面板中,选择启动

步骤 5:从原始实例中分离根卷并将其附加到临时实例

​ 1.在导航窗格中,选择卷,并选择原始实例的根设备卷(你在步骤2中记下它的卷 ID)。依次选择 操作、分离卷,然后选择 分离。等待卷的状态变为 available。(您可能需要选择“刷新”图标。)
在这里插入图片描述
​ 2.再次选择该卷,则选择操作),然后选择附加卷。选择临时实例的实例 ID,记录在 设备名称下指定的设备名称(例如 /dev/sdf),然后选择附加卷。
在这里插入图片描述

注意

如果已从 AWS Marketplace AMI 启动原始实例,并且卷包含 AWS Marketplace 代码,则必须先停止临时实例,然后才能附加卷。

步骤 6:将新的公钥添加到已安装到临时实例的原始卷上的 authorized_keys

  1. 连接到临时实例。
  2. 在临时实例中,挂载附加到实例的卷以访问其文件系统。例如,如果设备名称为 /dev/sdf,请使用以下命令将卷挂载为 /mnt/tempvol
注意

您的实例上显示的设备名称可能不同。例如,作为 /dev/sdf 挂载的设备可能在实例上显示为 /dev/xvdf。某些版本的 Red Hat(或其变体,如 CentOS)甚至可能将尾部字母增加 4 个字符。

a.使用 lsblk 命令查看卷。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8RyUSWJV-1684304892058)(C:\Users\Stati\AppData\Roaming\Typora\typora-user-images\image-20230517140102276.png)]
其中 /dev/sdf 变为 /dev/nvme1n1p1
b.创建临时目录以挂载卷。

sudo mkdir /mnt/tempvol

c.使用之前确定的卷名称或设备名称在临时挂载点挂载卷(或分区)。所需命令取决于操作系统的文件系统。请注意,您的实例上显示的设备名称可能不同。

  • Amazon Linux、Ubuntu 和 Debian

    [ec2-user ~]$ sudo mount /dev/nvme1n1p1 /mnt/tempvol
    
  • Amazon Linux 2、CentOS、SUSE Linux 12 和 RHEL 7.x

    [ec2-user ~]$ sudo mount -o nouuid /dev/nvme1n1p1 /mnt/tempvol
    

3.在临时实例中,借助临时实例 authorized_keys 中的新公有密钥,在已挂载卷上使用以下命令更新 authorized_keys

重要

以下示例使用 Amazon Linux 用户名 ec2-user。您可能需要使用其他用户名来替换,例如对于 Ubuntu 实例为 ubuntu

[ec2-user ~]$ cp .ssh/authorized_keys /mnt/tempvol/home/ec2-user/.ssh/authorized_keys

步骤 7:从临时实例中卸载并分离原始卷,然后将其重新附加到原始实例

  1. 在临时实例中,使用以下命令卸载 /mnt/tempvol 处的卷。

    [ec2-user ~]$ sudo umount /mnt/tempvol
    
  2. 从临时实例中分离卷:从 Amazon EC2 控制台,在导航窗格中选择卷,为原始实例选择根设备卷(您在上一步中记下了卷 ID),依次选择操作、分离卷,然后选择 分离。等待卷的状态变为 available。(您可能需要选择“刷新”图标。)

  3. 将卷重新附加到原始实例:在卷仍保持选中状态时,选择 操作,然后选择 附加卷。选择原始实例的实例 ID,请指定您以前在步骤 2 中记下的原始根设备附加的设备名称(/dev/sda1/dev/xvda),然后选择附加卷。

    重要

    如果您不指定与原始附加相同的设备名称,则无法启动原始实例。

步骤 8:使用新密钥对连接到原始实例

选择原始实例,然后依次选择实例状态启动实例。在实例进入 running 状态后,您可以使用新密钥对的私有密钥文件连接到该实例。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我与你与星辰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值