我们正在使用VPC在EC2上运行许多环境。 在每个VPC中,我们都configuration了一个加固的堡垒主机,用作networking中的初始SSH入口点。
要访问我们的专用VPC子网内的主机,用户首先SSH到堡垒主机,然后SSH到子网内的其他主机。 为此,用户在进行初始SSH连接时转发SSH密钥(从AWS下载为.pem文件)。 例如:
ssh -A [email protected] ssh [email protected]
堡垒主机的全部目的是允许团队成员安全地访问我们的环境,只要他们有两个.pem键。 团队成员是信任的,在一个单一的组织内。
我的问题是:我们在团队中pipe理和分发.pem文件的最佳方式是什么?
任何build议最受欢迎。
你不应该分享这些密钥。 期。
每个用户应该生成他们自己的SSH密钥对,并且他们的公钥应该被部署到他们需要访问的每个系统。 私人密钥的名称是有原因的 – 它们应该是每个用户私有的,由他们生成,使用密码保护,并保存在用户工作站的安全位置。 即使拥有一支完全信任的团队,使用共享凭证也会违反所有最佳做法(出于各种原因)。
当你开始使用每个用户密钥时,你的其他问题都会消失。
此外,为了避免愚蠢的双ssh rigamarole,只需将以下内容在您的用户sshconfiguration:
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 。