【发布时间】:2019-01-01 14:24:38
【问题描述】:
我的团队有一些 EC2 实例,我们都需要通过 SSH 访问它们。这些实例是使用一个 IAM 用户创建的,并且凭证已分配给该用户。我们确实有密钥,但您打算如何将这些实例的 SSH 访问权限授予多个用户?
我设法做到这一点的唯一方法是安全地共享这些密钥,但感觉这样做是错误的方法。那么,关于多用户访问 EC2 实例的最佳实践是什么?
【问题讨论】:
标签: amazon-web-services amazon-ec2
我的团队有一些 EC2 实例,我们都需要通过 SSH 访问它们。这些实例是使用一个 IAM 用户创建的,并且凭证已分配给该用户。我们确实有密钥,但您打算如何将这些实例的 SSH 访问权限授予多个用户?
我设法做到这一点的唯一方法是安全地共享这些密钥,但感觉这样做是错误的方法。那么,关于多用户访问 EC2 实例的最佳实践是什么?
【问题讨论】:
标签: amazon-web-services amazon-ec2
查看 managing user accounts on your EC2 instance. 的 AWS 文档中涵盖的步骤
这里的基本思想是将用户直接添加到实例本身(通过sudo adduser)。
一旦您的每个用户都有一个帐户和 SSH 密钥本地存储在 EC2 实例上,他们应该能够按预期通过 SSH 访问它。
【讨论】:
一个选项可能是创建您的 EC2 实例作为AWS OpsWorks Stack 的一部分。
AWS OpsWorks 是一项配置管理服务,可帮助您使用 Puppet 或 Chef 在云企业中配置和操作应用程序
使用它的好处是 Opsworks 可以管理多个用户对实例的 SSH 密钥访问,同时允许每个用户管理自己的 SSH 私钥。根据docs:
对于 Linux 堆栈,AWS OpsWorks Stacks 提供了一种更简单、更灵活的方式来管理 SSH 密钥对。
- 每个用户注册一个个人密钥对。 它们将私有密钥存储在本地,并向 AWS OpsWorks Stacks 注册公有密钥,如注册 IAM 用户的公有 SSH 密钥中所述。
- 当您为堆栈设置用户权限时,您可以指定哪些用户应具有对堆栈实例的 SSH 访问权限。 AWS OpsWorks Stacks 会自动在堆栈实例上为每个授权用户创建一个系统用户,并安装他们的公钥。然后用户可以使用相应的私钥登录,如使用 SSH 登录中所述。
此外,如果您想转换现有设置:
您还可以将基于 Linux 的计算资源整合到在 AWS OpsWorks Stacks 之外创建的堆栈中。
- 您使用 Amazon EC2 控制台、CLI 或 API 直接创建的 Amazon EC2 实例。
【讨论】: