跨大量主机管理 openssh 的 authorized_keys 文件的最简单方法是什么?如果我需要为 10 台主机上的帐户添加或撤销新密钥,我必须手动登录并添加公钥,或者通过笨拙的 shell 脚本添加公钥,这非常耗时。
理想情况下,将有一个中央数据库将密钥链接到具有某种分组支持的帐户@机器(IE,将此密钥添加到 web 类别中所有服务器上的用户名 X)。有支持 ldap 的 SSH 分支,但我宁愿使用主线 SSH 包。
跨大量主机管理 openssh 的 authorized_keys 文件的最简单方法是什么?如果我需要为 10 台主机上的帐户添加或撤销新密钥,我必须手动登录并添加公钥,或者通过笨拙的 shell 脚本添加公钥,这非常耗时。
理想情况下,将有一个中央数据库将密钥链接到具有某种分组支持的帐户@机器(IE,将此密钥添加到 web 类别中所有服务器上的用户名 X)。有支持 ldap 的 SSH 分支,但我宁愿使用主线 SSH 包。
我会检查Monkeysphere项目。它使用 OpenPGP 的网络信任概念来管理 ssh 的 authorized_keys 和 known_hosts 文件,而无需更改 ssh 客户端或服务器。
我用 Puppet 做很多事情,包括这个。(使用 ssh_authorized_key 资源类型)
我总是通过维护不同服务器密钥的“主”树来做到这一点,并使用 rsync 更新远程机器。这使您可以在一个位置编辑内容,有效地推送更改,并使内容保持“最新”——每个人都编辑主文件,没有人编辑随机主机上的文件。
您可能想查看用于跨机器组运行命令的项目,例如https://fedorahosted.org/func上的 Func或其他服务器配置管理包。
您是否考虑过使用 clusterssh(或类似的)来自动化文件传输?另一种选择是集中配置系统之一。
/艾伦