我们当前的基础设施使用 ssh 密钥无密码登录到我们的 Linux 服务器。随着我们基础设施的发展,管理这些授权密钥变得越来越困难。
由于我们还有一个 Active Directory (AD) 服务器,我想使用这种机制通过 ssh 对用户进行身份验证,但要保持 ssh 密钥的无密码特性。
是否可以使用某种 AD 机制在没有密码的情况下通过 ssh 对用户进行身份验证?
我们当前的基础设施使用 ssh 密钥无密码登录到我们的 Linux 服务器。随着我们基础设施的发展,管理这些授权密钥变得越来越困难。
由于我们还有一个 Active Directory (AD) 服务器,我想使用这种机制通过 ssh 对用户进行身份验证,但要保持 ssh 密钥的无密码特性。
是否可以使用某种 AD 机制在没有密码的情况下通过 ssh 对用户进行身份验证?
这通常是通过 SSH 密钥证书来完成的,以保持无密码的性质,同时拥有一个可以信任的中央机构,可以为每个帐户生成新的证书。
不建议在登录时使用 LDAP/Active Directory - 除了必须使用密码外,它还会成为访问其管理的任何系统的单点故障。
请参阅RedHat 文档以了解如何执行此操作,以及Facebook 关于他们使用 SSH 进行证书身份验证的好文章。
选项1
这是一篇很好的文章,解释了如何做到这一点。 将 SSH 密钥存储在 Active Directory 中以便于部署
基本上,它将允许人们将他们的公钥发布到您的 Active Directory,然后您可以在您的服务器上设置一个 cron 脚本,以每 5 分钟左右获取一份公钥的副本。
选项 2
您还可以使用具有所有密钥的文件服务器,并使用 cron 脚本让每个服务器从那里获取。显然,您需要一种方法来验证每个密钥的真实性,尤其是在您使用 FTP 或其他一些不安全的协议时。这可以使用 GPG 来实现。您可以拥有一个签署所有员工密钥的公司主 GPG 密钥。
就个人而言,我最喜欢选项 2,因为我认为它更安全,但任何一种方法都应该有效。希望这可以帮助!
我的方法是将问题减少到已经解决的问题