AWS EC2:新用户通过 SSH 访问现有 VM

AWS EC2: SSH access for new user to existing VMs

一位新开发人员加入了我们的团队,我需要授予他访问我们在 AWS EC2 中拥有的所有 VM 的权限。在阅读了一堆 AWS 文档后,在我看来我们有两个选择:

  1. 与开发人员共享启动 VM 时使用的私钥
  2. 让开发人员生成一个新的密钥对,并将他的 public 密钥添加到 每个 VM 上的 authorized_keys。

这两个选项都不理想,因为#1 违反了安全惯例,而#2 要求我去更改一堆 VM。

推荐的方法是什么?

这个问题比较宽泛,所以我的回答会比较宽泛。

是的,共享私钥是一件坏事。所以我将跳过它并专注于其他部分。

听起来您想集中管理帐户,而不是在每个单独的服务器上手动adding/removing/modifying它们。

您可以设置 NIS 之类的东西来管理用户帐户。这将需要更改每个 VM。

如果您使用 puppet、chef 或 salt 之类的东西,您可以创建食谱来控制用户访问(例如推出 public 密钥,甚至创建帐户和配置 sudo)。

您可以使用 pssh(并行 ssh)之类的东西同时在多个主机上执行命令。它可以简单地向现有 authorized_keys 文件添加 public 密钥,甚至可以添加用户、其密钥和必要的 sudo 访问权限。 (注意:如果你这样做要非常小心。一个写得不好的命令可能会切断每个人的访问并导致不必要的停机时间)。

旁白:让多个用户共享一个帐户不是一个好主意,通常是安全和质量检查方面的噩梦。与其允许对同一个帐户进行多次访问,不如让每个用户都拥有自己的帐户,并具有他们所需的最小特权访问权限。

随心所欲。

您是否使用了 Run Command 功能来执行一个简单的脚本来添加或删除用户。