一个小型开发团队需要多少个Github SSH密钥?

12
我对使用GitHub托管的远程仓库时需要使用SSH密钥的概念感到困惑。 我按照http://help.github.com/win-set-up-git/中的指示生成了密钥,但现在我有多个开发者推送到仓库中时,我不清楚我们是否需要共享一个SSH密钥,还是每个人都需要为其机器生成一个独立的密钥并使用它?能否有人给我解释一下?
2个回答

14

SSH密钥用于用户在GitHub上进行身份验证和标识。

通常情况下,每个用户使用不同的设备访问GitHub时,会生成一个不同的ssh密钥,并将其注册/链接到他的GitHub帐户中。

当您控制一个项目时,基于用户而不是SSH密钥来控制访问和权限。

因此,当您(作为用户)设置git环境时,您只能为每台想要授权访问您的GitHub帐户的计算机创建一个ssh密钥。


更新:

GitHub现在建议使用HTTPS而不是SSH密钥。但如果您将上面所有的SSH密钥参考替换为Github的个人访问令牌,本答案中的所有内容仍然有效。


作为用户,您不限于一个SSH密钥。但一般来说,您可能不需要多个。 - Alexis Wilke

6

每个开发人员都应该使用自己的密钥 - 这样可以更好地了解是谁在向仓库提交代码,并且如果/当开发人员离开公司时,您可以撤销他们的提交权限。否则,他们可能会复制共享密钥,每次需要更改访问权限时,您就必须重新发放新密钥。


1
这很混乱。正如上面的答案所说,你管理的是用户而不是密钥。让这些用户自己管理他们的密钥,你没有必要生成他们的密钥。 - Tekkub
@Tekkub 更新了措辞以反映这一点。我并不是想让他为每个用户创建一个密钥,而是每个开发者应该有自己的密钥。 - Jamie Penney
更好了,但仍应明确区分,他们应通过协作者或团队管理这些用户,而不是直接处理密钥。 - Tekkub

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接