如何在AWS管理控制台中更改ec2实例的密钥对?我可以停止实例,我可以创建新的密钥对,但我没有看到任何链接来修改实例的密钥对。


当前回答

如果遵循以下步骤,将节省大量时间,也不需要停止正在运行的实例。

开始新的t1。microec2实例,使用新的密钥对。确保在相同的子网中创建它,否则将不得不终止实例并重新创建它。 SSH到新的微实例,复制~/的内容。Ssh /authorized_keys在计算机的某处。 用旧的ssh密钥登录主实例。 从点2复制并替换文件内容到~/.ssh/authorized_keys 现在您只需使用新密钥即可再次登录。旧钥匙不能用了。

就是这样。享受:)

其他回答

替代解决方案。如果你有唯一的访问服务器。在这种情况下,不要从AWS控制台删除pem文件。只需删除pem访问密钥从sudo纳米~/。Ssh / authized_keys,并添加系统公共Ssh密钥。现在您可以访问ssh user@i.p

如果有人在这里,因为他们不能访问EC2实例,因为他们没有密钥对,但他们有IAM访问,你可以运行以下命令,允许临时访问(60秒)你的EC2实例使用你已经拥有的密钥,只要你知道用户名(通常是'ubuntu' ubuntu实例或' EC2 -user'亚马逊linux实例):

aws ec2-instance-connect send-ssh-public-key --region ${your-aws-region} --instance-id ${your-instance-id} --availability-zone ${your-instance-az} --instance-os-user ${username} --ssh-public-key file://path/to/public/key 

(如果您的~/。Aws /凭据文件,您还可以通过在此命令中添加'——profile your-profile'标志来指定)

如果成功,输出将如下所示:

{
"RequestId": "3537268d-c161-41bb-a4ac-977b79b2bdc0",
"Success": true
}

然后你有60秒的时间用那把钥匙登录。

如果遵循以下步骤,将节省大量时间,也不需要停止正在运行的实例。

开始新的t1。microec2实例,使用新的密钥对。确保在相同的子网中创建它,否则将不得不终止实例并重新创建它。 SSH到新的微实例,复制~/的内容。Ssh /authorized_keys在计算机的某处。 用旧的ssh密钥登录主实例。 从点2复制并替换文件内容到~/.ssh/authorized_keys 现在您只需使用新密钥即可再次登录。旧钥匙不能用了。

就是这样。享受:)

您有几个选项可以替换EC2实例的密钥。

您可以在.ssh/authorized_keys文件中手动替换密钥。但是,这需要您实际访问实例或卷(如果未加密)。 您可以使用AWS系统管理器。这需要安装代理。

由于第一个选项可以很容易地在答案中或在您选择的搜索引擎中找到,所以我想重点介绍系统管理器。

打开服务系统管理器 单击左侧的Automation。 单击执行自动化 选择AWSSupport-TroubleshootSSH(通常在最后一页)

您可以在AWS官方文档中找到更多信息

我的问题是,我尝试使用IP而不是公共DNS。然后我尝试了公共DNS和它的解决