在使用GitHub托管的远程存储库时,我对SSH密钥的概念感到困惑。我按照http://help.github.com/win-set-up-git/中的指示生成了密钥,但是现在我有多个开发人员进入仓库,我不清楚我们是否共享一个SSH密钥,或者我们是否都需要生成一个人关键每台机器并使用它?
有人可以为我澄清一下吗?
答案 0 :(得分:12)
SSH密钥用于用户进行身份验证并识别为 GitHub 。
通常,对于用户用来访问GitHub的每个不同设备,他会生成一个不同的ssh-key并将其注册/链接到他的GitHub帐户。
当您控制项目时,您可以根据用户控制访问权限,而不是 SSH密钥。
因此,当您(作为用户)设置您的git环境时,您只能为您希望授予GitHub帐户权限的每台计算机创建一个ssh-key。
更新
Github now recommends using HTTPS instead of SSH keys但如果您用Github's Personal Access Tokens
替换上面的所有 SSH密钥引用,则此答案中的所有内容仍然有效答案 1 :(得分:6)
每个开发人员使用一个密钥 - 每个开发人员都应该生成自己的密钥。这使您可以更好地指示谁在进行回购,并且意味着您可以在他们离开公司时撤销开发人员的提交权利。否则他们只能复制共享密钥,并且每次需要更改访问权限时都必须重新发布新密钥。