有没有办法自动为近 30 个用户的大量(近 9000 个)服务器创建 SSH 密钥
答案1
如果你有 9,000 台服务器接受同一管理,那么你可能会遇到某种形式的配置管理到位。可以是 Puppet、Chef、Ansible 等形式。您可以通过这种方式分发公钥。
对于 30 个用户,这也可以通过中央目录身份验证(LDAP、Active Directory)来处理。
答案2
你可能做错了。
每个用户(共 30 个)必须创建自己的(因此是私钥!)密钥。每个用户的公钥都发给他有权访问的每个服务器(共 9000 个)。
不要反其道而行。
答案3
如果您的服务器使用的是较新的 openssh 版本(我认为 > 5.4),您应该查看那里的基于证书的身份验证。您可以在此处找到此功能的介绍:http://neocri.me/documentation/using-ssh-certificate-authentication/或者在 ssh 包文档中。
简而言之,
- 用户生成他们的私钥/公钥对。
- 您(管理员)创建一个或多个 SSH CA 证书(your-user-ca),用于签署用户公钥。
- 您(管理员)使用一个 CA 证书签署用户公钥。例如“ssh-keygen -s your-user-ca -I“用户名”-Z 用户名 -V +52w user-key.pub”。这将创建一个 user-key-cert.pub,您需要将其发送回相应的用户。
- 您(管理员)在 9000 台服务器的 sshd 配置中安装受信任的 SSH CA 证书。您无需声明每个用户的每个公钥。
- 用户可以连接。
嗯。