【问题标题】:git push via ssh and who knows the private key?git push 通过 ssh 和谁知道私钥?
【发布时间】:2015-04-16 17:51:18
【问题描述】:

这是一个概念问题。

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

然后我将公钥添加到 gitbucket。

因此,由于我的计算机持有私钥,它可以解密来自 gitbucket 的加密消息。

所以我了解例如 git clone 是如何工作的。

但是 gitbucket 没有自己的私钥,我没有向我的计算机添加由该(不存在的)私钥生成的公钥。那么 git push 应该如何通过 ssh 工作???

【问题讨论】:

  • Gitbucket 使用公钥加密消息,您使用私钥解密。

标签: git ssh git-push gitbucket


【解决方案1】:

但是gitbucket没有自己的私钥

它不需要私钥,只需要公钥就可以验证你。

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

对于 gitbucket 中的authentication part (ssh/PublicKeyAuthenticator.scala),例如:

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

【讨论】:

  • 它如何使用公钥对我进行身份验证?它是否像加密字符串一样发送,然后只能由持有私钥的计算机解密,然后发回解密的字符串?
猜你喜欢
  • 2023-03-24
  • 1970-01-01
  • 1970-01-01
  • 2015-07-11
  • 2014-01-18
  • 2021-03-02
  • 2011-10-08
  • 2016-01-23
  • 2013-03-24
相关资源
最近更新 更多