六、使用ssh协议传输数据
6.1、Git支持的传输协议
由于Git的远程仓库并不在本地,当我们在使用远程仓库的时候(例如克隆、拉取、推送)就会涉及到数据的网络传输,Git支持多种数据传输协议
● 本地协议(Local)
● HTTPS协议
● SSH (Secure Shell)协议
● Git协议
前面的操作都是基于HTTPS协议进行的。
6.2、什么是SSH协议
SSH为Secure Shell (安全外壳协议)的缩写,由IETF的网络小组(Network WorkingGroup)所制定。SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。
由于本地Git仓库和远程仓库之间的传输是通过SSH加密的,所以必须要让远程仓库服务器认证你的SSH key,在此之前,必须要生成SSH key。
使用ssh协议通信时,推荐使用基于密钥的验证方式。必须为自己创建一对密匙(公钥和私钥),并把公匙放在需要访问的服务器上。
6.3、配置SSH协议
可以使用Git提供的命令行工具Git Bash生成公钥和私钥,具体操作过程如下:
6.3.1、生成公私钥
使用命令
ssh-keygen -t rsa
生成公钥和私钥,执行完成后在window本地用户 .ssh 目录(C:Users用户名.ssh)下面生成如下名称的公钥和私钥