GitHub现在支持SSH提交验证。,因此您可以使用自生成的SSH公钥在本地对提交和标记进行签名,这将使其他人对您所做的更改的来源有信心。如果提交或标记具有可密码验证的SSH签名,则GitHub将提交或标记进行“验证”或“部分验证”。 如果您已经使用SSH密钥来使用GitHub进行身份验证,那么现在可以上传相同或不同密钥对的公钥,将其用作签名密钥。您可以添加到帐户中的签名密钥的数量没有限制。有关更多信息,请访问SSH提交验证文档中的GitHub文档。
鉴于最近发生的这一事件,我想知道:使用SSH密钥与GPG密钥进行提交签名之间有什么区别?
发布于 2022-08-25 19:11:31
在功能上,这两种方法都提供了等效的加密安全性。两者都使用稳健的数字签名算法,并且,如果私钥是安全的,则被认为是有效的不可伪造的。
SSH的好处是,将您的密钥转发到另一台机器会更容易一些。例如,在以前的雇主中,所有的开发都必须在VM上完成,而且在笔记本或台式机上也不允许使用源代码。由于SSH代理转发,SSH可能比GPG更容易使用。
GPG也因其加密实现的质量而受到一些批评,对于将SHA-1用于指纹和一些加密算法,肯定有合理的批评,而后者在这里并不相关。( SHA-1用于指纹的使用将在即将修订的OpenPGP标准中得到修正。)因此,有些人可能更喜欢使用OpenSSH,因为它通常在安全性方面有更好的声誉,而且它通常已经在大多数系统上使用了。
与安全密钥一起使用OpenSSH也容易一些,因为大多数安全密钥都支持FIDO2,从技术上讲,这就是所需要的。OpenPGP实现需要一些额外的支持,因此OpenPGP在安全密钥上的可用性不太可能。
然而,OpenPGP存在的时间更长,Git支持的时间也更长,这使得它更容易在旧环境中使用。签名数据还需要一个更新的OpenSSH版本,这再次阻碍了它在旧环境中的使用。最后,OpenPGP和GnuPG使存储和验证任意密钥变得更加容易,包括在第一次使用时信任GnuPG,而OpenSSH则需要指定的允许签名者列表,必须手动维护。
发布于 2022-09-08 16:08:06
另一个不同之处是如何在计算机上安全地使用(GPG/SSH)密钥在所有平台上签名提交。
这意味着将密钥(GPG/SSH)存储在一个在线和同步的Vault中。
否则,在多台计算机上复制/重用相同的密钥将是一种糟糕的做法。
虽然可以在Vault中手动导入/附加密钥,但我所知道的用于签名Git提交的唯一集成是带有1 1Password和SSH键的GitHub (而不是GPG)。
见Thomas (GitHub首席执行官) 推特
今日(九月)8,2022年),我很高兴宣布我们与1 1Password的新集成,以及我们对SSH提交验证的支持。 现在,开发人员可以轻松地添加他们的SSH密钥来验证提交,生成SSH密钥,并从浏览器中存储SSH密钥。
这指的是马克·麦肯巴克的1 1Password博客文章"用1通道签署你的Git提交“,其中1 1Password 8.9.4或更多将包含一个/Applications/1Password.app/Contents/MacOS/op-ssh-sign
工具,以及编辑您的~/.gitconfig
以便使用马克·麦肯巴克对提交进行签名的功能:
您的SSH密钥是管理在您的在线库(1护照目前,其他人可能会跟随)。
https://stackoverflow.com/questions/73489997
复制相似问题