为整个组织部署一个 SSH 密钥
Deploy one SSH key for the entire organization
是否可以在组织级别部署一个 SSH 密钥?也就是说,使用此密钥,用户将能够访问该组织下的所有存储库。
我尝试对多个存储库使用相同的密钥,但这是不可能的(GitHub 说密钥已被使用)
谢谢。
可能不会,并且有充分的理由。每个用户的 SSH 密钥应该是唯一的和私有的。这既是为了识别,也是为了安全。
您的 ssh 密钥是 Github 识别您的方式。当您通过 SSH 连接到 Github 时,您使用 URL 就像 git@github.com:org/repo.git
。 git@
部分表示您和其他所有人都以 git
用户身份连接。 Github 使用 SSH 密钥识别您的帐户。如果您项目中的每个人都有相同的 ssh 密钥 Github 无法区分您。
共享身份验证是一种糟糕的安全做法,无论是密码还是密钥。当有人离开项目时,他们的身份验证应该被撤销。如果您有单独的钥匙,那将很简单且常规。如果每个人都共享一个 ssh 密钥,那么您需要向每个人分发一个新的共享 ssh 密钥,等到(或希望)每个人都已更新,然后撤销旧的共享密钥。您还需要找到所有可能已安装共享密钥的位置,并用新密钥替换它们。
这更有可能被视为麻烦,并且该项目将继续使用现在可能已泄露的共享密钥。
对于单独的密钥,如果密钥被泄露,损害仅限于该密钥可以访问的内容。而且,再次说明,更换受损密钥很简单。泄露的密钥可以立即撤销,而只会给一个用户带来不便。泄露的共享密钥会影响您的整个项目。攻击者可以访问每个人的帐户。撤销泄露的密钥会关闭整个项目,直到分发了替换密钥;这可能会使安全人员在撤销密钥时犹豫不决。
是否可以在组织级别部署一个 SSH 密钥?也就是说,使用此密钥,用户将能够访问该组织下的所有存储库。
我尝试对多个存储库使用相同的密钥,但这是不可能的(GitHub 说密钥已被使用)
谢谢。
可能不会,并且有充分的理由。每个用户的 SSH 密钥应该是唯一的和私有的。这既是为了识别,也是为了安全。
您的 ssh 密钥是 Github 识别您的方式。当您通过 SSH 连接到 Github 时,您使用 URL 就像 git@github.com:org/repo.git
。 git@
部分表示您和其他所有人都以 git
用户身份连接。 Github 使用 SSH 密钥识别您的帐户。如果您项目中的每个人都有相同的 ssh 密钥 Github 无法区分您。
共享身份验证是一种糟糕的安全做法,无论是密码还是密钥。当有人离开项目时,他们的身份验证应该被撤销。如果您有单独的钥匙,那将很简单且常规。如果每个人都共享一个 ssh 密钥,那么您需要向每个人分发一个新的共享 ssh 密钥,等到(或希望)每个人都已更新,然后撤销旧的共享密钥。您还需要找到所有可能已安装共享密钥的位置,并用新密钥替换它们。
这更有可能被视为麻烦,并且该项目将继续使用现在可能已泄露的共享密钥。
对于单独的密钥,如果密钥被泄露,损害仅限于该密钥可以访问的内容。而且,再次说明,更换受损密钥很简单。泄露的密钥可以立即撤销,而只会给一个用户带来不便。泄露的共享密钥会影响您的整个项目。攻击者可以访问每个人的帐户。撤销泄露的密钥会关闭整个项目,直到分发了替换密钥;这可能会使安全人员在撤销密钥时犹豫不决。