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