无法在GitHub中添加SSH密钥

时间:2018-07-07 09:03:08

标签: jenkins github ssh-keys

在我们的GitHub中,我们有大约20个存储库。对于CI构建,我们启用了Git轮询选项。

我们的Jenkins主节点已附加多个节点。对于Git Polling,我们通常在“设置SSH密钥”部分下,将Jenkins Master ssh密钥添加到相应用户的GitHub。添加密钥时出错:密钥已在使用中。让我知道添加相同内容。

根据其他存储库构建的错误消息,我们已经将Jenkins主密钥添加到其他用户的  帐户。

1 个答案:

答案 0 :(得分:1)

SSH密钥只能附加到GitHub上的单个用户,因为它用于验证和授权该用户。无法添加到多个帐户。

GitHub在Managing deploy keys上提供了有关处理自动脚本的SSH密钥的指南。两个有趣的选项是:

通常,您将使用deploy keys从服务器访问存储库。但是,部署密钥与用户的SSH密钥具有类似的限制,并且只能附加到单个存储库。这样可以减少密钥被泄露时可能造成的潜在损害。对于构建服务器,它们通常不太适合,因为通常无法针对每个存储库配置身份验证。

对于您的用例,machine user似乎是最佳选择。这是一个专用的用户帐户,仅由构建服务器使用。确保为此帐户使用强密码和两因素身份验证,然后向其中添加Jenkins的主密钥。然后,您可以在Jenkins所需的存储库中将机器用户添加为协作者。

关于安全性,请尽可能严格:仅需要存储库,并且仅具有读取权限。这也是为什么应使用计算机用户而不是实际用户帐户的原因。对于Jenkins,您(通常)不需要对存储库的写权限。通过限制服务器密钥的访问权限,可以减少泄露密钥的影响。