有没有办法在多个 AWS EC2 linux 实例中管理(add/delete)多个用户
Is there a way to manage (add/delete) multiple users in multiple AWS EC2 linux instances
我意识到这是一个常见问题,但在四处浏览之后,我认为值得重新提问。欢迎任何与主题相关的建议
我们正在使用 AWS Ec2 Linux 个实例。我们当前提供实例访问的流程:
- 使用 existing/new EC2 用户的 pem 文件创建 AWS Ec2 实例
- 使用 ec2-user pem 文件和 public IP
ssh 进入服务器
- 为用户创建个人用户和私人和 public 密钥
- 将私钥分享给用户
- 用户通过终端或 putty 使用自己的用户和私人 pem 密钥 ssh 进入 Linux 服务器
管理Linux个用户是一个非常繁琐的过程,其中,用户是removed/created所有服务器的手动重新
我想要实现的是使用 AWS IAM 用户和组,用户可以使用个人 pem ssh 进入 Ec2 实例。同样,当要删除用户时,从 AWS 账户中删除后,用户的账户也会从 Ec2 实例中删除。
如有与上述相关的任何其他疑问,请发表评论
提前致谢
您可以使用 AWS Organisation 服务以简单的方式完成这一切。
通过 AWS Organization,您可以创建多个用户账户,集中管理。
您可以应用服务控制策略 (SCP) 来确保您帐户中的用户只执行满足您的安全和合规性要求的操作。
您可以自动创建用户、将用户分配到组、分配角色
如果所有用户都可以使用相同的本地帐户连接到实例,但每个用户都有自己的密钥对,并且您不介意有一个两步连接过程(一个意味着使用 AWS CLI)。那么您可能想看看 EC2 Instance Connect。
这适用于所有 Amazon Linux 2 和 Ubuntu 16.04+ 实例。其他 AMI 可能支持它,但您需要做一些研究。
如果您决定使用该方法,则必须为所有实例设置一些内容(包括授权用户将 public 密钥推送到实例的 IAM 策略)。但这个过程非常简单。我认为您需要 AWS CLI 1.18+ 才能推送您的密钥,但我不确定。
一旦一切就绪。用户可以将 public 密钥推送到他想要连接的实例,该密钥将在 60 秒内有效,从而为用户提供足够的时间连接到实例。
过程是这样的。
您将 public 密钥推送到实例:
$ 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
一旦您停用或删除用户,他们将无法再将他们的密钥推送到实例,因此将无法连接到它。
设置实例会产生一些开销,但您最终会节省总体时间,而且您只需在一个地方管理用户,这是一个显着的收获。
我意识到这是一个常见问题,但在四处浏览之后,我认为值得重新提问。欢迎任何与主题相关的建议
我们正在使用 AWS Ec2 Linux 个实例。我们当前提供实例访问的流程:
- 使用 existing/new EC2 用户的 pem 文件创建 AWS Ec2 实例
- 使用 ec2-user pem 文件和 public IP ssh 进入服务器
- 为用户创建个人用户和私人和 public 密钥
- 将私钥分享给用户
- 用户通过终端或 putty 使用自己的用户和私人 pem 密钥 ssh 进入 Linux 服务器
管理Linux个用户是一个非常繁琐的过程,其中,用户是removed/created所有服务器的手动重新
我想要实现的是使用 AWS IAM 用户和组,用户可以使用个人 pem ssh 进入 Ec2 实例。同样,当要删除用户时,从 AWS 账户中删除后,用户的账户也会从 Ec2 实例中删除。
如有与上述相关的任何其他疑问,请发表评论
提前致谢
您可以使用 AWS Organisation 服务以简单的方式完成这一切。
通过 AWS Organization,您可以创建多个用户账户,集中管理。
您可以应用服务控制策略 (SCP) 来确保您帐户中的用户只执行满足您的安全和合规性要求的操作。
您可以自动创建用户、将用户分配到组、分配角色
如果所有用户都可以使用相同的本地帐户连接到实例,但每个用户都有自己的密钥对,并且您不介意有一个两步连接过程(一个意味着使用 AWS CLI)。那么您可能想看看 EC2 Instance Connect。
这适用于所有 Amazon Linux 2 和 Ubuntu 16.04+ 实例。其他 AMI 可能支持它,但您需要做一些研究。
如果您决定使用该方法,则必须为所有实例设置一些内容(包括授权用户将 public 密钥推送到实例的 IAM 策略)。但这个过程非常简单。我认为您需要 AWS CLI 1.18+ 才能推送您的密钥,但我不确定。
一旦一切就绪。用户可以将 public 密钥推送到他想要连接的实例,该密钥将在 60 秒内有效,从而为用户提供足够的时间连接到实例。
过程是这样的。
您将 public 密钥推送到实例:
$ 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
一旦您停用或删除用户,他们将无法再将他们的密钥推送到实例,因此将无法连接到它。
设置实例会产生一些开销,但您最终会节省总体时间,而且您只需在一个地方管理用户,这是一个显着的收获。