我们希望切换到SSHlogin的基于密钥的pipe理,并想知道是否有任何密钥pipe理系统可以让我们集中pipe理全球的访问密钥。
理想情况下,系统应该允许为每个客户端发布密钥,并在需要时撤销密钥,更新服务器密钥。
有没有人知道这样一个系统,无论是商业或开源?
注意:为了说明,我们需要相当大量的云服务器(EC2-like)和less量服务用户的密钥pipe理。 我想下面的LDAP +补丁build议可能是要走的路。
有很多方法可以做到这一点。 LDAP密钥存储已经被提及了几次,而且我已经完成了它,并且它的工作就像它一样。 然而,LDAP有自己的pipe理好奇心,需要学习一些东西。
我非常喜欢简单而强大的服务器,它们对简单的事情(比如authenticationpipe理员)具有最小的外部networking依赖性,所以我倾向于更加强大的SSH密钥分发策略 – 我已经由configurationpipe理系统来处理它。 每个人的公钥都保存在configurationpipe理系统中,只要用户需要login,他们的密钥就会被添加。 configuration系统也知道删除没有指定的密钥,所以当有人离开或者他们的密钥改变时,取消密钥configuration是一件简单的事情,在下一次configuration系统运行时,密钥被删除。
密钥对应该由用户生成。
用户保留私人的一半 – 你永远不应该看到它。 如果你有一个人的私钥在你可以阅读/使用它的forms,你的安全性是错误的。
公共的一半是给你的(无论你想要什么机制:networking表单,电子邮件,给我一个CD),但是你想要集中。 有些地方将公钥存储在LDAP中。 其他人使用他们的部署系统推出authorized_keys
文件。
在我的环境中,需要shell访问的用户可以使用公钥。 这些密钥被添加到我们的LDAP系统中,并且sshd
通过LDAP公钥修补程序咨询为每个用户列出的公钥以validation它们。
当有人需要添加一个额外的密钥或撤销一个现有的密钥,他们让pipe理员知道,我们照顾它。 最后,随着规模的扩大,我将实施一个让人们旋转自己的公钥的系统。
我们的每个站点都有一对LDAP服务器,通过LDAP复制与我们的主站同步,从而使数据在每个位置保持一致(并且可访问)。
我所描述的一切都可以用开源软件完成。 也有商业产品做同样的事情。
您需要更彻底地研究可用的选项,并确定哪一个最适合您的环境。 如果你有更多(更具体)的问题,我们可能会更有帮助。
密钥对不应该在每个用户的计算机上的任何地方生成。 出于某种原因私钥被这样命名。
也就是说,我可以看到某种用户公钥的集中式存储库的用例。 一种select是将公钥存储在OpenLDAP中 – 最新版本的OpenSSH可以从LDAP中读取密钥。
我知道这是一个稍微老一点的问题,但是在寻找这种东西的时候,Google会返回相当高的水平。
对于我们这些寻求LDAP之外的解决scheme,我只find了“SKM”项目: https : //sites.google.com/site/jeromeboismartel/code-s-corner/ssh-key-management-with-skimp
有许多伟大的商业和开源解决scheme,比如Userify [1](我工作的地方),Universal Key Manager [2],SSH Key Box [3]等。这取决于你的需要,寻找集中pipe理,同时分散操作的东西(这样你的服务器不需要依靠中央机构来login),在这种情况下,你可能无法login到任何服务器,如果你说LDAP服务器已closures!)
另见这个倾斜的讨论: