GitHub如何处理推送安全性?

use*_*169 1 git ssh github

当我为Git设置我的计算机时,我生成一个私有和公共SSH密钥.然后我让GitHub知道我的公钥是什么.我的理解是公钥可以加密消息,私钥对其进行解密.所以我可以理解github如何通过SSH向我发送加密消息.

但是,我的问题是,当我向GitHub推送时,它是如何知道我正在推动的?是不是其他人用我的名字和电子邮件创建了自己的SSH密钥,然后推送到我的GitHub存储库?

我怀疑是这种情况,那么为此采取了哪些安全措施?谢谢!

Kei*_*son 5

GitHub有一个公钥副本,其中包含的信息不仅仅是您的姓名和电子邮件地址.它有一个独特的指纹,无法通过生成伪造的公钥来复制(至少没有大规模的暴力攻击或一些意料之外的数学突破).

ssh协议的工作方式,GitHub看到一个ssh连接,它根据你的公钥进行身份验证.这种连接只能由拥有私钥副本的人创建.

GitHub没有私钥的副本,但它可以验证您的私钥.(这就是公钥加密的全部内容.)