Github允许用户添加SSH密钥以访问存储库,但它并不能很好地解释“身份验证密钥”与“签名密钥”之间的区别,我想知道的具体问题如下:
发布于 2022-09-10 18:28:52
签名密钥与身份验证密钥的区别在于,签名密钥可用于签名Git提交,而身份验证密钥可用于访问存储库。如果仅将键添加为一种类型,则只能为此目的使用该键,但可以为这两种类型添加相同的键。
如果您只想访问存储库,那么您所需要的就是一个身份验证密钥。如果您想使用SSH密钥来验证您的提交没有被修改或篡改,并且它们确实来自您(而不是在提交中伪造您的姓名和电子邮件的人),那么您将需要一个签名密钥(加上最近版本的Git)。
它们之所以是不同的集合,是因为它们有不同的安全模型,因此,如果人们愿意的话,允许人们为不同的目的设置不同的密钥是有意义的。这也符合加密密钥管理的最佳实践。
发布于 2022-09-12 07:24:44
它与提交作者验证有关,与存储库访问无关。

但是是的,如果你愿意的话,你可以用同样的钥匙。
对于在GitHub上标记为已验证的提交,这个想法仍然是,其他人可以相信这些更改来自可信的源。
所述签名检查可以是通过与1 1Password同步的SSH键在所有计算机上验证。
这与用于GitHub身份验证/存储库访问的SSH密钥不同:在后一种情况下,最好(更好的做法)在每台计算机上使用不同的SSH密钥(以便使来自其中一台计算机的访问无效,如果它被破坏/被盗)。
https://stackoverflow.com/questions/73673920
复制相似问题