我遇到过这样一种情况:40 个用户将使用新机器来处理 git repos 并将其推送到 github。我正在尝试想出处理 ssh 密钥的最简单方法。我认为理想的情况是每个用户都有自己的 ssh 密钥,并且每台机器都有一个不同的密钥。问题是我们将在每台机器上拥有一个用户帐户,我们不想在每台机器上设置单独的 ssh 密钥。更不用说用户将在不同的机器之间切换。
现在我认为最好的选择是简单地在所有机器上设置一个 ssh 密钥,并让每个用户将其添加到他们的 github 帐户。考虑到安全隐患,我宁愿想出更好的办法,而且我也不太确定 github 将如何处理它,但对我们来说最重要的是尽量减少用户的麻烦。有哪些选项可以缓解这种情况?
更新: 因此,我们不想设置服务器来管理所有机器,因此我们在所有机器上设置了一个 ssh 密钥,该密钥与其自己的 github 帐户相关联。学生要么将内容推送到该帐户,要么将其添加为项目的贡献者,然后使用 edgecase-git-pair 来管理提交。
答案1
配置 389-ds/OpenLDAP 来存储 ssh 密钥。
http://linuxhow-tos.blogspot.in/2012/03/store-ssh-keys-in-ldap.html
答案2
你现在想做什么?我不明白你想做什么。让每个人都有自己的帐户,有自己的 SSH 密钥,并集中密钥和用户管理(使用 Puppet/Chef 为每台机器创建用户/密钥,或使用 LDAP)有什么问题?
至于使用 Github 进行 SSH 密钥管理,有一个(虽然很小但很重要)的警告——每个 SSH 密钥只能与一个 Github 帐户相关联。这实际上并不像您想象的那么大,因为您可以授予其他用户访问您的存储库的权限(或使用组织进行大规模访问控制管理),但它确实会对您将所有类型的密钥放在每个人手中的计划造成一些阻碍。