首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在SSH密钥被泄露或丢失时保护AWS EC2实例

如何在SSH密钥被泄露或丢失时保护AWS EC2实例
EN

Stack Overflow用户
提问于 2016-01-07 14:23:00
回答 3查看 888关注 0票数 1

我基本上是个AWS菜鸟。

我让一个开发人员用负载均衡器设置一个EC2实例来承载一个基于node.js的API。他现在已经离开了公司,但如果他愿意的话,他仍然拥有登录的私钥。我想换钥匙。

根据我所读到的,我需要重新启动这个实例来获得一个新的密钥对。但是,如果我这样做,我会失去所有的节点包,以及其他已安装在当前实例上的SW吗?负载平衡器会发生什么?我需要更新我的DNS信息来指向新的IP吗?

(一旦定位,这一次我将创建多个密钥对供devs使用。)

谢谢,史蒂夫

编辑:是的,我有私钥,我可以做任何我需要做的事。我只想确保他不再有权限。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-01-12 18:26:29

因此,我自己已经解决了这个问题,我正在发布我所做的事情,以防它对其他人有帮助。

  1. 在我的本地机器上,我制作了一个新的2048位RSA密钥对(在AWS上也可以生成一个新的对)
  2. 在Amazon控制台中导入新的公钥。
  3. 创建正在运行的实例的AMI。
  4. 启动该AMI的新实例(ubuntu ),并将其指向新上传的公钥以供登录。
  5. 一旦实例启动,更新负载均衡器,或DNS条目,以指向新实例(视情况而定)。
  6. 启动服务器打算运行的任何软件。
票数 0
EN

Stack Overflow用户

发布于 2016-01-07 18:25:54

  1. 以当前实例的AMI作为备份目的。这将重新启动实例,但它将保留现有的IP。你不需要把它从你的ELB中移除。如果在更改密钥后无法重新连接,则可能需要此AMI。
  2. 以根用户的身份使用现有密钥登录。
  3. 在shell中,运行以下命令:
  4. $ ssh-keygen -t rsa -b 2048 -f user -这将生成一个新的密钥对
  5. $ sudo su - -如果需要的话
  6. $ cp /home/ubuntu/.ssh/authorized_keys /home/ubuntu/.ssh/authorized_keys.bak -备份现有公钥
  7. $ mv user.pub /home/ubuntu/.ssh/authorized_keys -这将替换authorized_keys文件中现有的公钥。
  8. $ chmod 600 /home/ubuntu/.ssh/authorized_keys -更改文件的权限
  9. 将从$ ssh-keygen命令生成的私钥(名为user的文件)复制到本地机器,并从实例中删除它。
  10. 使用新的私钥连接到实例以进行确认。重要事项:保持现有ssh会话打开,并使用新键创建一个新会话。

如果您在步骤10上有任何问题,您仍然可以访问现有的会话来进行故障排除。

至于清理,请确保并从AWS控制台中删除旧的密钥对,如果(!),则所有凭据无效。它们不需要运行现有的服务。如果授予开发人员对AWS控制台的根访问权限,则应重置这些凭据。

注意:这些步骤假设Ubuntu安装。如果您正在使用任何其他Linux类型,请用正确的AWS用户名替换\ubuntu

代码语言:javascript
复制
Amazon Linux: ec2-user  
Ubuntu  ubuntu
Debian  admin
RHEL 6.4 ec2-user   
RHEL 6.3 root
票数 5
EN

Stack Overflow用户

发布于 2016-01-07 14:51:21

您可以创建一个新的密钥对,而无需创建新的EC2实例http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-key-pairs.html#having-ec2-create-your-key-pair

看起来您仍然需要启动EC2的一个新实例(这将创建一个新的键),但是如果您使用相同的卷或快照来创建重复的卷,则不需要重新加载任何软件。https://forums.aws.amazon.com/message.jspa?messageID=245314

至于DNS,我会将其指向负载均衡器,这样您就可以在不更改DNS的情况下从池中添加/删除服务器。否则,将一个弹性IP分配给服务器,这样您就可以将弹性IP移动到下一个服务器,而无需每次更改DNS。移动弹性是即时的,在那里DNS需要时间来复制粗糙的网络。希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34657504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档