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