【问题标题】:Is there a way to manage (add/delete) multiple users in multiple AWS EC2 linux instances有没有办法在多个 AWS EC2 linux 实例中管理(添加/删除)多个用户
【发布时间】:2021-03-30 10:57:57
【问题描述】:

我意识到这是一个常见的问题,但在浏览完之后,我认为值得重新提出。欢迎任何与该主题相关的建议

我们正在使用 AWS Ec2 Linux 实例。我们当前提供实例访问权限的流程:

  1. 使用 EC2 用户的现有/新 pem 文件创建 AWS Ec2 实例
  2. 使用 ec2-user pem 文件和公共 IP SSH 进入服务器
  3. 为用户创建个人用户和私钥和公钥
  4. 将私钥分享给用户
  5. 使用自己的用户和私有 pem 密钥通过终端或 putty 用户 ssh 进入 Linux 服务器

    这是管理 Linux 用户的一个非常繁琐的过程,其中,所有用户都被删除/创建再次手动服务器。

    我想要实现的是使用 AWS IAM 用户和组,用户可以使用个人的 pem ssh 进入 Ec2 实例。同样,当要删除用户时,在从 AWS 账户中删除时,用户的账户也会从 Ec2 实例中删除。

如果有任何与上述相关的其他疑问,请发表评论

提前致谢

【问题讨论】:

  • 第 1 步是创建 ec2 实例,您是否为每个用户创建一个实例?多个用户是否可以访问多个 ec2 实例?

标签: linux amazon-web-services amazon-ec2 ssh pem


【解决方案1】:

您可以使用AWS Organisation 服务以简单的方式完成这一切。

通过 AWS 组织,您可以创建多个用户账户,集中治理。

您可以应用服务控制策略 (SCP) 来确保您帐户中的用户只执行满足您的安全和合规性要求的操作。

您可以自动创建用户、将用户分配到组、分配角色

【讨论】:

    【解决方案2】:

    如果所有用户都可以使用同一个本地账户连接到实例,但每个用户都有自己的密钥对,并且您不介意有一个两步连接过程(这意味着使用 AWS CLI)。然后你可能想看看 EC2 Instance Connect。

    https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-set-up.html#ec2-instance-connect-install-eic-CLI

    这适用于所有 Amazon Linux 2 和 Ubuntu 16.04+ 实例。其他 AMI 可能支持它,但您必须进行一些研究。

    如果您决定使用该方法,则必须为所有实例设置一些内容(包括授权用户将公钥推送到实例的 IAM 策略)。但这个过程非常简单。我认为您需要 AWS CLI 1.18+ 才能推送您的密钥,但我不确定。

    一切就绪后。用户可以将公钥推送到他想要连接的实例,该密钥将在 60 秒内有效,从而为用户提供足够的时间来连接到实例。

    流程如下所示。

    您将公钥推送到实例:

    $ aws ec2-instance-connect send-ssh-public-key \
        --instance-id i-001234a4bf70dec41EXAMPLE \
        --availability-zone us-west-2b \
        --instance-os-user ec2-user \
        --ssh-public-key file://my_rsa_key.pub
    

    然后在 60 秒的时间范围内,您可以通过以下方式连接到实例:

    ssh -o "IdentitiesOnly=yes" -i my_rsa_key ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com
    

    更多信息可以在这里找到:https://console.aws.amazon.com/iam/home?region=us-east-1#/policies/arn:aws:iam::863239526838:policy/test-ec2-connect$jsonEditor

    一旦您停用或删除用户,他们将无法再将密钥推送到实例,因此无法连接到该实例。

    设置实例会产生一些开销,但最终可以节省总体时间,而且您只需在一个地方管理用户,这是一个很大的收获。

    【讨论】:

    • 我测试了这种方法并按预期工作。唯一的缺点是操作系统的最低要求是centos7(Linux ami2)。我们有多个以 Linux AMI1 作为基本操作系统的服务器。将计划为较新的设置实施此设置。
    猜你喜欢
    • 1970-01-01
    • 2018-06-04
    • 2018-04-02
    • 2018-03-13
    • 2017-05-09
    • 1970-01-01
    • 1970-01-01
    • 2016-07-01
    • 1970-01-01
    相关资源
    最近更新 更多