可能重复:
SSH 公钥分发系统
假设我有四台服务器(SA、SB、SC 和 SD)。我想让用户 X 访问 SA 和 SB。我可以轻松做到这一点,ssh -keygen -t RSA
然后给 X id_rsa 文件。现在,如果我改变主意,我想让他访问 SC 并放弃他对 SB 的访问权限。我可以手动完成。
现在的问题是:如果我有 100 台服务器和 20 个系统管理员怎么办?以这种方式处理它将是一个非常复杂的过程。是否有一种工具可以帮助我更轻松地管理对服务器的访问。
答案1
像 puppet 这样的工具可以轻松做到这一点
http://docs.puppetlabs.com/references/latest/type.html#sshauthorizedkey
答案2
生成/分发密钥不是控制对单个机器的访问的方法。使用组来确定谁应该有权访问特定机器(并设置 sshd 以仅允许该机器的组连接)。
答案3
我知道这是一个相当复杂的方法,但在我看来,使用基于 LDAP 的网络组、nss_ldapd 以及可能由 sudo-ldap 增强是最集成的解决方案。一旦 LDAP 到位,您也可以免费获得 Kerberos SSO。
答案4
nis 服务器无法执行您想要的操作(与设置 ssh 权限相结合)?- 在我看来,这将是简单的解决方案。否则,puppet。