我在 EC2 上有几个远程开发人员和几台服务器。有没有一种方法可以集中管理 EC2 上的 authorized_keys 文件,而不必在每个服务器上手动添加密钥?
一种选择是设置一个小实例,您为所有开发人员提供对这台机器的访问权限。他们通过 SSH 进入它,并且机器有一个授权的 ssh 密钥,允许他们访问所有其他机器。然后,您可以在计算机上使用防火墙来阻止来自其他 IP 地址的 SSH 登录。
另一种选择是设置类似 Puppet 的东西,它可以为您管理 authorized_keys 文件。
另一种选择是设置一个脚本,当它在一台机器上更改时,将authorized_key 文件同步到所有主机。您可以使用 lsyncd 之类的工具来自动执行此操作。
请记住,仅仅因为您撤销了开发人员的 SSH 密钥,并不意味着您已经删除了他们对该机器可能拥有的任何访问权限。具有 SSH 访问权限的恶意人员可能会设置类似反向 shell 的东西,或者在他们正在处理的代码中添加各种类型的后门。
如果您设法设置基础映像以将其自身用作 Puppet 客户端,则可以使用ssh_authorized_key 指令,甚至直接使用文件类型管理模板文件并将其推送到文件.ssh/authorized_keys
。
Puppet 还包括通过 EC2 管理配置的实用程序,因此您可以真正实现一站式服务。
归档时间: |
|
查看次数: |
1878 次 |
最近记录: |