我是否需要在 Github 上进行身份验证和签名密钥?

Dal*_*ley 30 github

Github 允许用户添加 SSH 密钥以访问存储库,但它并没有很好地解释“身份验证密钥”和“签名密钥”之间的区别我想知道的具体问题是:

  1. 我是否需要两种类型的密钥才能访问存储库?

  2. 如果我只添加一个键并且该键是“歌唱键”,那我是否也可以简单地检查代码?换句话说,签名密钥也可以进行身份​​验证吗?

  3. 如果我想同时进行身份验证和签名,这些密钥是否必须彼此不同,或者我可以对两者使用完全相同的密钥吗?

  4. 如果这些密钥必须彼此不同,我如何在我的服务器上配置 Git 来发送这两个密钥,因为我认为这是必要的,对吗?

bk2*_*204 34

签名密钥和身份验证密钥之间的区别在于,签名密钥可用于对 Git 提交进行签名,而身份验证密钥可用于访问存储库。如果仅将密钥添加为一种类型,则它只能用于该目的,但可以为这两种类型添加相同的密钥。

如果您只想访问存储库,那么您只需要一个身份验证密钥。如果您想使用 SSH 密钥来验证您的提交未被修改或篡改,并且它们确实来自您(而不是在提交中伪造您的姓名和电子邮件的人),那么您需要一个签名密钥(加上最新版本的 Git)。

它们之所以不同,是因为它们具有不同的安全模型,因此允许人们为不同的目的设置不同的密钥(如果他们愿意)是有意义的。这也符合加密密钥管理的最佳实践。