与 SSH 密钥相比,使用 GPG 密钥签署 git commit 有哪些优势

Nic*_*vit 7 git ssh gnupg

我在大部分编程工作中使用 git,并在大部分提交中使用 SSH 密钥对其进行签名。但是,当我将 git 更新到版本 2.17.1 时,git 默认使用 GPG 密钥而不是 SSH 密钥进行签名。

我想知道使用 GPG 密钥相对于 SSH 密钥有哪些优点和缺点,以及为什么 git 将 GPG 设置为默认密钥。

poo*_*ert 3

SSH 密钥用于许多身份验证应用程序,例如登录 ssh 服务器、登录以及许多其他应用程序。

这意味着,如果您在不安全的环境中使用它并且您的私钥被盗,其他人就能够伪造您的签名并登录到您的所有计算机。

GPG 广泛用于存储电子邮件文件和其他加密活动。因此,您可以在不太安全的环境中使用它,因为假签名 github 比窃取您的服务器更不可取。

  • 哦,我明白了。您知道如何下载我的 GPG 密钥并用它来签署其他东西吗? (2认同)
  • 但 SSH 私钥和 GPG 密钥都存储在同一台机器上;如果其中一个受到损害,另一个也可能受到损害。无论是使用一个 SSH 和一个 GPG 密钥还是两个 SSH 密钥来签署提交都不会改变任何内容。 (2认同)
  • 在这个示例中,它更安全,因为您使用两个不同的密钥进行签名和身份验证,即使它们都是 SSH 密钥,您也将具有相同级别的安全性。它没有解释 GPG 相对于 SSH 的优势 (2认同)