Amazon web services aws每个人需要创建新的密钥对才能访问EC2?

Amazon web services aws每个人需要创建新的密钥对才能访问EC2?,amazon-web-services,Amazon Web Services,我的团队中有人创建了访问EC2实例的密钥对。我意识到我无法下载现有的密钥对。这是否意味着每个团队成员都必须创建一个新的密钥对才能访问EC2?谢谢其他人可以给你钥匙的副本。这取决于您希望如何控制对系统的访问 您可以让每个人共享一个密钥,但如果您决定阻止将来有人访问您的系统,则必须重新颁发该密钥 这取决于你的团队规模和你正在从事的项目类型 共享私钥就像共享密码一样。也就是说,永远不会。多用户密钥对 如果有多个用户需要访问单个实例,则可以向实例中添加用户帐户。有关更多信息,请参阅管理Linux实例上的

我的团队中有人创建了访问EC2实例的密钥对。我意识到我无法下载现有的密钥对。这是否意味着每个团队成员都必须创建一个新的密钥对才能访问EC2?谢谢

其他人可以给你钥匙的副本。这取决于您希望如何控制对系统的访问

您可以让每个人共享一个密钥,但如果您决定阻止将来有人访问您的系统,则必须重新颁发该密钥

这取决于你的团队规模和你正在从事的项目类型


共享私钥就像共享密码一样。也就是说,永远不会。

多用户密钥对

如果有多个用户需要访问单个实例,则可以向实例中添加用户帐户。有关更多信息,请参阅管理Linux实例上的用户帐户。您可以为每个用户创建一个密钥对,并将每个密钥对中的公钥信息添加到实例上每个用户的.ssh/authorized_keys文件中。然后可以将私钥文件分发给用户。这样,您就不必将根帐户使用的同一私钥文件分发给多个用户

我认为共享密钥对是不好的做法。每个授权用户都应该在EC2实例上拥有自己的用户帐户和自己的密钥对。用于根用户访问的密钥对应该受到保护,而不是在用户之间共享


这是我们在堡垒主机上经常使用的策略。为了实现这一点,我们实际上将每个用户的SSH公钥存储在他们的IAM用户中,然后在连接时查找连接用户,并根据授权的IAM组获取他们的公钥

我已经将此功能开源,可以在Github repo中循环使用

为此,实例将检查其标记中的
authorizedUserGroup
。基于此标记,它检查授权用户,并检索他们的SSH公钥

这里需要注意的是,它使用以下策略:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "iam:GetGroup",
        "iam:GetSSHPublicKey",
        "iam:ListSSHPublicKeys"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeTags"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}

此策略的其他好处是,如果有人离开公司,或出于其他原因需要访问删除的实例,您可以将其从AuthorizedUserGroup中删除。

EC2密钥对只能从AWS控制台下载一次。您可以与每个团队成员共享它的副本。亚马逊不会保留私钥的副本,一旦丢失就无法恢复。要为每个用户创建单独的密钥对,您需要创建每个linux系统用户,并将其公钥存储在
/[user home]/.ssh/authorized_keys
中。请看一看以供参考。

我想他是在询问登录EC2的ssh密钥对,而不是IAM用户/凭据。次要澄清:AWS保留了部分密钥对的副本,即公钥。是的@jarmod,Amazon将公钥保存在~/.ssh/authorized_keys中,用于linux实例。