GPG 和 SSH 密钥

在 GitHub 上,我想添加一个密钥来将我的计算机与我的帐户关联起来,我有两个选项: 创建一个 SSH 或 GPG 密钥。

这两把钥匙的区别是什么? 有没有更好的选择?
我知道如何按照网站上的指南创建两者,但我不知道哪一个更好使用。

44417 次浏览

我想添加一个关键,以关联我的计算机与我的帐户,我有两个选择

如果您想使用 SSH URL 推回存储库,那么您至少需要一个 SSH URL (因为公共 SSH 密钥将对您进行身份验证)。
从 SSH 开始,参见“ 使用 SSH 连接到 GitHub”。

以后,你可以 使用 GPG 签署提交


注: 自2022年8月以来,GitHub 还支持 SSH 提交验证

SSH commit check


Vishwas M.R 评论到“ 为什么我会签署我的 git 提交与 GPG 密钥时,我已经使用一个 SSH 密钥来验证我自己当我推?”中指出

当您使用 SSH 密钥对 Github 进行身份验证时,该身份验证不会以任何有意义或持久的方式成为存储库的一部分。
它让 Github 暂时给你访问权限,但是对于任何不是 Github 的人来说,它没有 证明任何东西。

当您使用 GPG 对 Git 标记进行签名时,该标记是存储库的一部分,并且可以被推送到存储库的其他副本。
因此,克隆存储库的其他人可以验证已签名的标记,假设他们可以访问您的公钥并有理由信任它。