-1

我有 gpg4win 套件并且已经使用 Kleopatra 创建了一个证书,我想使用现有证书通过 SSH 对 github 进行身份验证,而不是使用 git 安装附带的 ssh-agent。

github 帮助页面解释了如何使用 ssh-agent 生成新的密钥对以及如何将其添加到代理进行身份验证,但我很好奇我是否可以使用 gpg (gpg4win) 做到这一点?或者至少将现有证书与 ssh-agent 一起使用。

这是否可能以及如何实现这一目标?

4

1 回答 1

1

要通过 SSH 向 GitHub 进行身份验证,您只能使用 SSH 密钥。GPG 密钥用于对提交进行签名,以便人们知道提交是由您完成的,而不是其他人。

这是场景:

您在 PC 上使用 SSH 拉/推到 GitHub。但是有一天,有人以某种方式发现了您的密码。现在,该人也可以通过您的帐户推送和拉取到 GitHub 。这样一来,其他人就很难知道哪个提交是真实的你,哪个是冒名顶替者。

但是,如果您有一个通过 GitHub 帐户身份验证的 GPG 密钥,用于通过 SSH 进行提交,则提交将被签名。现在,即使有人得到了你的密码并且可以提交某些东西,但不知何故,其他人也会知道提交不是由你做出的。为什么?因为它没有使用您的 GPG 密钥签名。

GPG 密钥就像虚拟签名/指纹,用于识别哪些属于(授权)您,哪些不属于您。就像用于验证您的身份以便于访问的 SSH 密钥一样。

所以,不,您不能使用 GPG 密钥向/从 GitHub 推送/拉取。

于 2019-03-15T00:29:37.170 回答