SSH

134 阅读1分钟

之前在计算机网络中简单接触过RSA等加密方式,但是不太深入。最近在使用Git的时候了解到SSH这种加密传输的协议,遂去搜索看了一些文章,记录下心得便于日后去复盘补充【仅仅是个人的一些小思考】

首先上张图:SSH的通信细节

b9e81c0eeaa569076e22e4cb9624aa35_tplv-t2oaga2asx-watermark.webp

  • 具体通信阶段是通过密钥C进行加密解密通信,但是如何保证密钥C不被泄露呢?

  • 通过公钥A私钥B来传递密钥C,密钥C在客户端生成。

  • 对于GitHub的ssh传输文件,我们先使用本地的git来生成一对公钥A和私钥B,公钥A加密得到的数据只有私钥B能解开,私钥B加密得到的数据只有公钥A可以解开。我们将公钥A发送到Github处保存,当我们需要pull/push项目的时候通过SSH登录,之后通过密钥进行传输数据。