git push通过ssh和谁知道私钥?

时间:2015-02-16 08:57:55

标签: git ssh git-push gitbucket

这是一个概念性问题。

当设置与gitbucket / github的ssh连接时,我正在创建一个私有ssh密钥,然后用于创建公共ssh密钥。

然后我将公钥添加到gitbucket。

因此,当我的计算机持有私钥时,它可以解密来自gitbucket的加密邮件。

所以我理解git clone的工作原理。

但gitbucket没有自己的私钥,我没有向我的计算机添加公钥,该公钥是由该(非现有的)私钥生成的。那么git如何通过ssh ???推送工作呢?

1 个答案:

答案 0 :(得分:0)

  

但是gitbucket没有自己的私钥

它不需要私钥,只需要公开密钥才能验证你。

一旦gitbucket知道谁正在联系克隆或推送,它将允许操作 对于推送,如果您是要推送到的仓库的所有者,它就有效。

对于gitbucket中的authentication part (ssh/PublicKeyAuthenticator.scala),请参阅:

由于public key cryptography的工作方式,服务器端(gitbucket)只需要公钥。