我知道一种方法,在服务器列表上运行如下:
for server in $(cat server.list); do
ssh-copy-id user@host
done
但我想知道是否有更好的方法?自动执行,不需要任何用户输入。NIS 可以做到这一点吗?
答案1
如果您的商店使用配置管理工具(例如 Puppet、CFEngine、Chef 等),那将是最简单的方法。
如果没有,但是您有一个执行 LDAP 的目录服务,则可以使用 OpenSSH 扩展将公钥存储在目录中。
最后,您可以将公钥打包成 RPM 并像分发软件一样分发它们。这也有助于生命周期管理,例如替换、添加、删除密钥基本上解决了问题。