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(这里用码云距离)
点击头像→设置→进入
8.点击 SSH公钥,输入复制的**信息
9.进行权限验证
10.配置成功之后我们就可以通过ssh的形式跟仓库建立连接了
11.使用ssh跟远程仓库建立连接
使用ssh建立连接又一个优点就是传输速度会比http的方式快一点~