繁体   English   中英

有没有办法在多个 AWS EC2 linux 实例中管理(添加/删除)多个用户

[英]Is there a way to manage (add/delete) multiple users in multiple AWS EC2 linux instances

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

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

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

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

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

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

提前致谢

如果所有用户都可以使用相同的本地账户连接到实例,但每个用户都有自己的密钥对,并且您不介意有一个两步连接过程(这意味着使用 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 $json编辑器

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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM