在团队中管理AWS SSH .pem文件的最佳实践[重复]

Modified on: Sun, 20 Oct 2019 05:40:02 +0800
    

这个问题已经有了答案:

    

    

我们正在使用VPC在EC2上运行多个环境。在每个VPC中,我们配置了一个加固的堡垒主机,用作网络的初始SSH入口点。

要访问我们的私有VPC子网中的主机,用户首先要SSH到堡垒主机,然后SSH到子网内的其他主机。为此,用户在进行初始SSH连接时转发SSH密钥(从AWS下载为.pem文件)。例如:

ssh -A ec2-user@bastion-host.on.aws
ssh ec2-user@app-server.on.aws

堡垒主机的全部目的是允许团队成员安全地访问我们的环境,前提是他们有两个.pem密钥。团队成员在一个组织内受到信任。

我的问题是:我们在团队中管理和分发.pem文件的最佳方式是:

  1. 团队成员可以找到他们希望连接到的环境的正确.pem文件
  2. .pem文件的存储是安全的
  3. 我们可以明确授权个人用户访问密钥
  4. 醇>

    欢迎任何建议。

作者:Rob Blake

最佳答案

您不应该共享这些密钥。周期。

每个用户都应生成自己的SSH密钥对,并将其公钥部署到他们需要访问的每个系统。私钥由于某种原因而被命名 - 它们应该对每个用户是私有的,由它们生成,用密码保护,并保存在该用户工作站的安全位置。即使拥有一个完全信任的团队,使用共享凭据也会违背所有最佳实践(出于各种原因)。

当您开始使用每用户密钥时,您的其他两个问题都会消失。

此外,为了避免愚蠢的双ssh rigamarole,只需将以下内容放入您的用户ssh配置中:

Host internal-host.example.com 
  Hostname internal-host.example.com 
  User ubuntu
  IdentityFile ~/.ssh/id_rsa
  ProxyCommand ssh bastion-host.example.com nc %h %p 2> /dev/null

执行此操作后,您的用户将能够运行单个命令直接连接到内部主机,例如$ ssh internal-host.example.com

作者:EEAA

相关问答

添加新评论