git基础之ssh生成秘钥

什么是ssh?

  • SSH是英文Secure Shell的简写形式
  • SSH 为建立在应用层基础上的安全协议。
  • SSH 的原理跟 HTTPS 差不多,都是基于 TCP 和 非对称加密进行的应用层协议
  • 它跟 HTTPS 的不同之处在于 HTTPS 通过 数字证书 和 数字证书认证中心 来防止中间人攻击,而 ssh 服务器的公钥没有人公证,只能通过其公钥指纹来人工确定其身份。

复制一段百度百科来更详细的说明ssh协议:
传统的网络服务程序,如:ftp、pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。而且,这些服务程序的安全验证方式也是有其弱点的, 就是很容易受到“中间人”(man-in-the-middle)这种方式的攻击。所谓“中间人”的攻击方式, 就是“中间人”冒充真正的服务器接收你传给服务器的数据,然后再冒充你把数据传给真正的服务器。服务器和你之间的数据传送被“中间人”一转手做了手脚之后,就会出现很严重的问题。通过使用SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗。使用SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替Telnet,又可以为FTP、PoP、甚至为PPP提供一个安全的"通道" 。

配置ssh秘钥

1.首先我们应该查看电脑上是否已经存在ssh文件
打开git命令行输入:

cd ~/.ssh

2.如果已经存在的话首先要把.ssh文件目录删除

cd …
rm -rvf .ssh

3.如果不存在或者已删除的话就可以新建.ssh文件

ssh-****** -t rsa -C 你在github或者码云之类注册的邮箱

4.然后进入.ssh目录

cd .ssh

5.查看文件夹会发现有两个文件id_rsa和id_rsa.pub

ls

6.查看id_rsa.pub

cat id_rsa.pub

7.复制文件的内容,进入码云或者github(这里用码云距离)
点击头像→设置→进入

git基础之ssh生成秘钥
8.点击 SSH公钥,输入复制的**信息
git基础之ssh生成秘钥

9.进行权限验证
git基础之ssh生成秘钥

10.配置成功之后我们就可以通过ssh的形式跟仓库建立连接了
git基础之ssh生成秘钥
11.使用ssh跟远程仓库建立连接
git基础之ssh生成秘钥

使用ssh建立连接又一个优点就是传输速度会比http的方式快一点~