我丢失了EC2实例密钥对,无法从AWS管理控制台再次下载。
请告知我如何以最简单的方式再次连接同一个实例?
答案 0 :(得分:7)
据我所知,没有办法恢复丢失的密钥对。亚马逊,即使他们可以,也不会再次给你。
如果您仍然可以访问aws控制台,则可以创建正在运行的实例的快照,并从该快照启动一个新实例,并为其分配一个新的密钥对 - 这次制作一些副本并将其存储在几个安全的地方。
答案 1 :(得分:5)
无法恢复丢失的密钥对。除了@ E.J的建议。 Brennan,还有另一种方法可以访问您的实例而无需通过快照重新创建它。
停止实例,并取消引导磁盘与实例的关联。然后,您可以将卷与另一个实例关联,安装它,并且您可以访问文件系统。
更新/home/ec2-user/.ssh中的authorized_keys,然后恢复步骤 - 取消与临时实例的关联,将其与原始实例关联,然后重新启动原始实例。
答案 2 :(得分:1)
您可以使用私钥重新创建公钥:
ssh-keygen -f "your-private-key.pem" -y > "newPublicKey.pem"
生成新密钥后,在编辑器中打开,然后复制内容。
转到AWS控制台→EC2控制台→密钥对→导入密钥对。
在选项中,使用丢失密钥的名称,并粘贴您复制的公钥数据。
答案 3 :(得分:0)
还有另一种方法可以无需拆卸实例,这是对我有用的唯一方法:
1- 在实例中使用 ssh-keygen 或使用 putty 创建另一个密钥对(如果您使用 putty,请使用 putty gen 创建一个 ppk 文件)
2-使用pem文件创建一个ppk文件(有公钥和私钥的部分)
3-通过 AWS 内部的 EC2 实例连接访问实例
4- 使用 vim 访问文件 .ssh/authorized_keys 并添加或替换内容为以下内容: ssh-rsa ppk_public_part pem_filename_without_extension
5-保存authorized_keys文件
6- 使用您机器上的 pem 文件测试访问
重要:您仍然需要确保安全组允许通过您的 IP 和端口 22 访问实例才能正确使用 SSH。