您发现管理大量SSH密钥对的最佳实践是什么?
我使用SSH连接到在家和工作中的多个系统。我目前有一个相当小的,可管理的工作和家庭系统密钥对集合。我有一个生成命名密钥对的脚本,因此可以避免混淆。
我的家庭网络由我的笔记本电脑(ubuntu),两个台式机(ubuntu / fedora双启动,fedora / windows双启动)和一个媒体系统(ubuntu)组成。在工作中,我有个人笔记本电脑(用于在家工作),台式机(fedora),生产系统(RHEL)以及带窗口(叹气)和VM(fedora)的笔记本电脑。到目前为止一切都很好。
(我对将家庭密钥对放置在工作系统上或将工作密钥对放置在家庭系统上都没有兴趣。而且我们拥有虚拟用户帐户,可以与其他系统机械化文件传输,而其他系统则必须将私钥驻留在生产机器上,在其他系统之间传输文件。)
但是现在出现了Hadoop,它是一个由100多个系统组成的大型集群,具有更高的复杂性,更多的用户和更多的密钥对。现在,我需要管理密钥。
(我需要澄清。我是一名软件开发人员,向正在部署Hadoop集群的客户端进行咨询。他们需要管理密钥。会有很多人访问该集群,需要将其公共密钥放置在系统上。作为居民Linux专家,他们向我寻求帮助。我建议聘请系统管理员,但直到他们这样做之前,我都会提供帮助)
当我需要将公钥发布到远程系统时,所有“操作方法”网页都建议覆盖(>)(销毁现有密钥)或追加(>>)(这很好,保留现有密钥) 。但是我认为将每个公用密钥分别保存在目标计算机上,并将它们组合在一起会更好。我正在寻找建议。
您发现管理大量密钥的最佳实践是什么?
谢谢!
编辑:一方面需要将密钥放置在许多系统上,同时还要为特定用户提供CRUD(创建,读取,更新,删除/禁用),这意味着需要能够识别哪些密钥属于哪些用户。
sshfp
通过将公共密钥的签名放入DNS中来解决主机密钥问题。对于用户凭据,您可能需要查看OpenSSH证书,或者使用诸如Spacewalk或puppet之类的东西将所有密钥对保存到中央位置,并根据需要进行部署。听起来您可能想要后者,因为您只是将新服务器设置为客户端,然后部署文件的最新版本。