【问题标题】:AWS EC2: SSH access for new user to existing VMsAWS EC2:新用户对现有虚拟机的 SSH 访问
【发布时间】:2016-03-15 21:24:15
【问题描述】:

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

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

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

推荐的方法是什么?

【问题讨论】:

    标签: amazon-web-services ssh amazon-ec2 aws-ec2


    【解决方案1】:

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

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

    听起来您想集中管理帐户,而不是在每个单独的服务器上手动添加/删除/修改它们。

    您可以设置诸如 NIS 之类的东西来管理用户帐户。这需要对每一个虚拟机进行更改。

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

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

    顺便说一句:让多个用户共享一个帐户是个坏主意,通常是安全和 QA 的噩梦。每个用户不应允许对同一帐户进行多次访问,而应拥有自己的帐户,并具有他们所需的最低特权访问权限。

    随心所欲。

    【讨论】:

    • 感谢您详细说明我在 OP 中列出的两个选项。我希望有一种不同的方法来做到这一点,因为这是一个非常常见的操作。特别是如果我拥有 EC2 帐户的管理员权限和 root 访问权限。
    • 是的,据我所知,亚马逊不为其服务器实例提供用户管理。旋转起来后就完成了。
    【解决方案2】:

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

    【讨论】:

    • 它对这个问题有什么帮助?什么是必需品?
    • 在加入公司时使用用户名/密码组合创建用户,并使用 Run-Command 对一组机器运行。当用户离开时,您可以轻松地将其删除。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-11
    • 1970-01-01
    • 2018-02-28
    • 1970-01-01
    • 2019-03-30
    • 1970-01-01
    • 2018-12-27
    相关资源
    最近更新 更多