我需要知道在Amazon EC2中访问正在运行的实例的任何方法。
我最近发现的问题是this,但我希望事情发生了变化。
有没有办法下载该pem文件或分配新的密钥对?
答案 0 :(得分:53)
密钥对只能从亚马逊下载一次,大概是出于安全考虑。您可以做的是将您的一个弹性IP分配给实例并通过该路由路由流量。快照实例并使用新的密钥对提出副本。将弹性IP切换到新实例。这不是特别优雅,但停机时间比完全停机要少得多。
注意:如果您将弹性IP分配给实例,它将覆盖当前的公共IP,因此您还必须确保更新DNS。
答案 1 :(得分:10)
实际上,只有在停止实例时才能为实例分配新的密钥对,分离根分区(通常是/ dev / sda1)并将其附加到另一个实例。 完成后,您将可以访问/home/ubuntu/.ssh/authorized_keys。您可以通过命令行生成新的.pem键并将其粘贴到该文件中。 然后,分离该分区并重新连接到原始实例。使用新生成的密钥连接到它。
您可以在Google或{} {/ 3>}了解有关这些步骤的详情
答案 2 :(得分:4)
当您设置AMI时,请设置cloud-init。在启动时,这将下拉用户数据并相应地处理它。因此,当AMI停止时,您可以在用户数据框中插入如下内容:
mkdir -p /root/.ssh/
cat > /root/.ssh/keyname.pub <<EOF_PUB
ssh-rsa yourkeydata== keyname@wherever
EOF_PUB
cat /root/.ssh/keyname.pub >> /root/.ssh/authorized_keys;
但是,如果您的cloud-init软件包未安装并运行,则无效。我不止一次不得不从没有保存密钥的开发人员中恢复被锁定的AMI。这是天赐之物。
答案 3 :(得分:-10)
您可以转到EC2信息中心,点击“X密钥对”(X是数字),创建密钥对。所以给它起一个名字,然后会出现下载它的选项。