Amazon ec2 如何与其他开发人员共享私钥

Amazon ec2 如何与其他开发人员共享私钥,amazon-ec2,Amazon Ec2,我对AWS非常陌生。我正在开发一个POC,在那里我收到开发人员的请求,要求在EC2中配置实例。一旦配置了实例,开发人员将期望共享私钥来访问实例 我正在使用地形来 1.1规定, 2.生成密钥对 3.输出并存储在secret manager中 下一步是,将私钥共享给开发人员,以便他只能访问自己的实例 发送私钥,被认为是坏主意 有没有最好的解决方案或渠道来共享私钥?共享私钥根本不是一个好主意 如果所有开发人员使用相同的私钥: 您不能简单地停用离开公司的开发人员的密钥 您无法看到谁在服务器上做什么 您可

我对AWS非常陌生。我正在开发一个POC,在那里我收到开发人员的请求,要求在EC2中配置实例。一旦配置了实例,开发人员将期望共享私钥来访问实例

我正在使用地形来 1.1规定, 2.生成密钥对 3.输出并存储在secret manager中

下一步是,将私钥共享给开发人员,以便他只能访问自己的实例

发送私钥,被认为是坏主意


有没有最好的解决方案或渠道来共享私钥?

共享私钥根本不是一个好主意

如果所有开发人员使用相同的私钥:

  • 您不能简单地停用离开公司的开发人员的密钥
  • 您无法看到谁在服务器上做什么
  • 您可以将开发人员的公钥复制到默认用户(ec2用户,ubuntu…~/.ssh/authorized_keys)文件中。因此,每个用户都使用自己的私钥连接到服务器。然而,这种方法并不能解决上述问题2

    ssh-i dev1.pub ec2-user@instance-知识产权

    建议的方法是为实例上的每个开发人员创建一个新用户,并将每个用户的公钥复制给授权的用户。根据您想要实现的目标,此方法具有更大的管理负担,但更安全

    e、 g.创建一个用户dev1,将其公钥上传到/home/dev1/.ssh/authorized_users。现在,dev1可以使用以下方式进行连接:

    ssh-i dev1.pubdev1@instance-知识产权


    对于小型组织来说,允许多个用户访问AWS EC2 Linux实例而不必共享密钥或帐户始终是一个挑战。显然,跨多个用户共享密钥不是一个好做法

    公钥/私钥对在本地计算机上生成,私钥上载到S3。通过向导启动EC2实例时,您现在可以选择不使用密钥对继续。

    对于Linux/Mac用户:

  • 要创建公钥和私钥,请使用以下命令
  • $ssh keygen-t rsa-b 4096(这将创建一个4096位rsa密钥对)

  • 将公钥上载到S3存储桶中的文件夹。例如:
  • S3>MyBucket>Keypair

  • 保存并保护您的私钥
  • 对于Windows用户:

  • 用于生成密钥
  • 按照以下步骤创建SSH密钥
  • 将公钥上载到S3>MyBucket>Keypair
  • 保存并保护您的私钥
  • 在任何Linux AMI的启动过程中,以下步骤都很重要

  • 确保IAM角色具有使用AmazonS3FullAccess策略创建的角色。这允许实例扮演角色来访问S3存储桶。这是从S3读取公钥并将其复制到用户配置文件所需的

  • 配置实例详细信息>高级详细信息(文本形式)中的用户数据部分下添加以下代码:

  • #对于AWS LINUX#

    #!/bin/bash
    用户添加用户1
    usermod-aG wheel user1
    mkdir/home/user1/.ssh/
    aws s3 cp s3://MyBucket/Keypair/user1-pub.pub/home/user1/.ssh/authorized_keys

    用户添加用户2
    usermod-aG wheel user2
    mkdir/home/user2/.ssh/
    aws s3 cp s3://MyBucket/Keypair/user2-pub.pub/home/user2/.ssh/authorized_keys

    sudo-i
    echo“user1 ALL=(ALL)NOPASSWD:ALL”>>/etc/sudoers
    echo“user2 ALL=(ALL)NOPASSWD:ALL”>>/etc/sudoers

    yum更新-y

    #对于UBUNTU#

    #!/bin/bash
    apt get安装-y awscli
    用户添加用户1
    usermod-aG sudo user1
    mkdir/home/user1/.ssh/
    aws s3 cp s3://MyBucket/Keypair/user1-pub.pub/home/user1/.ssh/authorized_keys

    用户添加用户2
    usermod-aG sudo user2
    mkdir/home/user2/.ssh/
    aws s3 cp s3://MyBucket/Keypair/user2-pub.pub/home/user2/.ssh/authorized_keys

    sudo-i
    echo“user1 ALL=(ALL)NOPASSWD:ALL”>>/etc/sudoers
    echo“user2 ALL=(ALL)NOPASSWD:ALL”>>/etc/sudoers
    出口

    apt获取更新-y

    此设置创建User1User2并将它们添加到sudo用户。aws s3 cp命令将用户公钥从s3文件夹复制到其.ssh/authorized_keys路径。最后一部分是以管理员身份运行命令,而不需要密码

    要阅读带有屏幕截图的详细信息,请参阅。这里可以推荐许多安全改进。虽然在本例中没有明确使用S3 bucket,但将S3 bucket访问限制到特定的bucket,并了解禁用sudo中的密码使用的安全含义,这是可以强调的几点。根据你的特殊需要明智地使用它们

    另一种连接方式是使用EC2实例连接,它允许使用IAM策略和主体通过SSH连接到实例,从而避免共享SSH密钥。您还可以使用基于浏览器的SSH连接到实例

    有关EC2实例连接的更多详细信息,请访问