如果其他人拥有ec2实例的私钥,因此密钥对不再安全使用,我们该如何处理?
据我所知,实例开始运行后无法替换密钥对。我认为唯一的选择是以某种方式用新的替换当前的ec2实例(一个副本,包含完全相同的数据/卷,并希望具有相同的IP地址),但我不确定如何安全地执行此操作(和最好是我们服务器的停机时间最短)。这样,一旦旧实例终止,就可以生成新的密钥对,旧密钥对将变得过时。否则,另一种选择可能是以某种方式禁用当前密钥对并添加一个新密钥对,但我也不知道如何做到这一点(它可能也不是最好的长期解决方案)。
有人可以向我提供有关此方案中最佳解决方案的说明吗?如果我走在正确的轨道上,希望让我知道。使用aws可能很危险,所以我想确保我正确地执行此操作。
答案 0 :(得分:6)
放松。这不是很困难,也不需要终止实例。在更改密钥对之前,请始终保持多个会话处于打开状态,这样,如果您犯了错误,可以使用其他ssh会话来恢复访问权限。
在此示例中,我假设用户为ubuntu
,但适用于任何用户。
如果出现问题,请取出机器的AMI
生成新的密钥对。将私钥保存在安全的位置。让公钥为key.pub
修改/home/user/ubuntu/.ssh/authorized_keys
文件并将文件内容替换为key.pub
使用新私钥
ssh
进入计算机
如果您可以ssh
使用新密钥,请重新启动计算机,以便关闭所有活动的ssh会话
如果你不能ssh
使用新密钥,请返回第2步,看看出了什么问题。