我对使用GitHub托管的远程仓库时需要使用SSH密钥的概念感到困惑。 我按照http://help.github.com/win-set-up-git/中的指示生成了密钥,但现在我有多个开发者推送到仓库中时,我不清楚我们是否需要共享一个SSH密钥,还是每个人都需要为其机器生成一个独立的密钥并使用它?能否有人给我解释一下?
SSH密钥用于用户在GitHub上进行身份验证和标识。
通常情况下,每个用户使用不同的设备访问GitHub时,会生成一个不同的ssh密钥,并将其注册/链接到他的GitHub帐户中。
当您控制一个项目时,基于用户而不是SSH密钥来控制访问和权限。
因此,当您(作为用户)设置git环境时,您只能为每台想要授权访问您的GitHub帐户的计算机创建一个ssh密钥。
更新:
GitHub现在建议使用HTTPS而不是SSH密钥。但如果您将上面所有的SSH密钥参考替换为Github的个人访问令牌,本答案中的所有内容仍然有效。
每个开发人员都应该使用自己的密钥 - 这样可以更好地了解是谁在向仓库提交代码,并且如果/当开发人员离开公司时,您可以撤销他们的提交权限。否则,他们可能会复制共享密钥,每次需要更改访问权限时,您就必须重新发放新密钥。