[英]Recovering lost AWS EC2 Key Pairs
AWS 菜鸟在这里。 我在我的 AWS 账户下创建了几个 EC2 实例,并为所有这些实例重用了相同的密钥对。 我相信(IIRC) 我已经从 AWS 内部生成了密钥对,但这可能是错误的。
上周末我卖掉了我的旧笔记本电脑(在完全擦除硬盘之后)并买了一台新笔记本电脑。 我现在只记得( :facepalm
)我忘记将所有 SSH 私钥复制到闪存驱动器,而且我不再拥有它们。
我想要/需要做的就是通过 SSH 连接到我的 EC2 实例,但为此我需要我的 SSH 密钥。 我仍然可以访问 AWS 控制台,并且可以登录并查看我所有的 EC2 密钥对。 但是我没有看到任何用于下载它们或使用新密钥对更新我的 EC2 实例的选项。
所以我问:
我真的不想拆除旧的 EC2 实例并重新配置新的实例,我需要大约一周的时间才能完成(尽管可以说,这对我有用!)。
重建不应该是必要的。 我建议选择 2,因为它更快更容易。
1.> 是否可以更改/附加新密钥?
关闭要访问的 ec2 实例(“目标”)。
创建一个新的(“临时”)实例。
从目标实例分离主 EBS 卷(注意其当前附件!)。
在临时实例上附加/挂载目标卷。
在安装的卷上编辑适当的 authorized_keys 文件。
卸载目标卷,并重新附加到目标 ec2 实例(使用您在分离时记下的配置)
启动目标实例并使用新密钥登录。
删除临时实例
2.> 是的。 快照实例。 从快照中选择不同的密钥配置一个新实例(在启动向导结束时单击启动时会出现密钥对弹出窗口)
您将获得与该会话的会话,您可以向授权密钥添加新密钥。
将 ec2 用户数据更改为多部分 mime。
零件:
cloud_final_modules:
- [scripts-user, always]
覆盖 /home/ec2-user/.ssh/authorized_keys
参考这篇博文替换ec2 ssh key
您可以使用用户数据或系统管理器替换新密钥。
使用用户数据:
从 AWS EC2 控制台创建新的密钥对
使用以下 cmd 从下载的密钥对生成公钥:ssh-keygen -y -f .pem
停止 EC2 实例并编辑实例的用户数据并传递以下脚本并启动实例
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:ec2-user ssh-authorized-keys: - <**Paste the Public key here**>
现在,您将能够使用下载的密钥对登录 EC2 实例。
使用系统管理器:
您可以参考以下链接了解更详细的步骤:
https://cloudsolutionsonline.blogspot.com/2021/11/connect-to-linux-ec2-instance-if-ssh.html?m=1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.