如果在首次启动后丢失了 SSH 密钥对,该如何连接到 Amazon EC2 实例?

我想连接到我的 Amazon Elastic Compute Cloud (Amazon EC2) 实例,但是丢失了 SSH 密钥对。如何连接到实例?

解决方法

重要提示:

方法 1、2 和 3 需要停止并启动实例。但应注意以下几点:

方法 1:输入用户数据

1.    创建新密钥对

2.    如果您在 Amazon EC2 控制台中创建私钥,则在公钥中检索密钥对

3.    打开 Amazon EC2 控制台

4.    停止您的实例

5.    依次选择 Actions(操作)、Instance settings(实例设置)、Edit user data(编辑用户数据)。

6.    将下列脚本复制到编辑用户数据对话框中:

Content-Type: multipart/mixed; boundary="//"
MIME-Version: 1.0

--//
Content-Type: text/cloud-config; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="cloud-config.txt"

#cloud-config
cloud_final_modules:
- [users-groups, once]
users:
  - name: username
    ssh-authorized-keys: 
    - PublicKeypair

将 username 替换为您的用户名,如 ec2-user。您可以输入默认用户名,或者如果先前已为该实例设置了自定义用户名,则输入此用户名。有关默认用户名的列表,请参阅连接到实例的一般先决条件

将 PublicKeypair 替换为第 2 步中检索到的公钥。确保输入以 ssh-rsa 开头的完整公钥。

7.    选择 Save(保存)。

8.    启动您的实例

9.    cloud-init 阶段完成后,请验证公钥是否已被替换

重要提示:由于脚本包含密钥对,请删除用户数据字段中的脚本。

10.    停止您的实例

11.    依次选择 Actions(操作)、Instance Settings(实例设置)、Edit user data(编辑用户数据)。

12.    删除Edit user data(编辑用户数据)对话框中的所有文本,然后选择 Save(保存)。

13.    启动您的实例

 

https://aws.amazon.com/cn/premiumsupport/knowledge-center/user-data-replace-key-pair-ec2/

posted @ 2021-12-06 16:06  Oops!#  阅读(580)  评论(0编辑  收藏  举报