最近在某个服务上执行更新时,发现以前好好的git突然不能使用了,git clone和pull等的操作会出错。
在
git pull github工程报错
git命令行中执行命令时发生错误。错误:错误:错误:1407742 e : SSL路由: SSL 23 _获取_服务器_ Hello 3360 TLS v1协作协议访问
fatal : unabletoaccess :错误:1407742 e : SSL路由3360 SSL 23 _获取_服务器_ Hello 3360 TLS v1备用协议服务器
在windows上也有图形界面错误的报告(TortoiseGit这是乌龟的报告) ) ) ) ) )。
由于https的协议对SSl3.0以下的版本、TSL1.0、TSL1.1的版本存在安全隐患,这一点正如笔者上一篇文章《「WEB安全」HTTPS 协议——Web安全的基石》中所述,gihub从2018年2月1日开始支持这些版本, 根据github的公告:
此外,也不再支持基于SSH协议的版本。
diffie-Hellman -组1-Sha1,diffie-Hellman -组14-Sha1。
因此,只支持旧版git、ssh客户端和sha1健壮白羊算法的客户端需要升级。
对于centos6、centos7等高版本的升级,可以通过yum进行升级,很容易升级。 本文主要介绍旧版本的操作系统升级,如旧版本的centos 5.8。 因为是旧版本,所以需要用源代码升级。
源码升级openssl
在linux上基本上所有加密算法的应用都是基于openssl的,所以升级curl、git、openssh需要先升级openssl您创建了一个包含
1、创建源码目录
openSSL源代码的新目录src。 因为openSSL升级可能会影响许多软件,所以不支持升级,而是在/usr/local/ssl目录中创建新版本的openSSL。 这不会影响现有版本的其他软件。MDIR体育俱乐部
激光唱片公司
2、下载openssl源码,我们用1.0.2m版本
wget https://www.OpenSSL.org/source/OpenSSL-1.0.2米. tar.gztar -zxvf openssl-*.tar.gz
3、编译安装:
光盘开放机- *./config-fpicsharedmakemakeinstall
4、添加一个动态库路径,并执行使其生效:
Echo '/USR /本地/SSL/LIB '/ETC/LD.SO.confldconfig
升级cUrl版本
不仅支持github,还有很多网站只支持TLS 1.2,此时如果curl版本是旧版本,将无法下载任何内容。 此外,由于git的https操作也是要进行curl的库,因此首先要升级curl。
1、创建源码目录
mkdir src激光唱片公司
2、下载curl源码
wget http://curl.haxx.se /下载/curl-7.59.0.tar.gztar-xzvf核心*.tar.gz
3、编译并安装
光盘中心*. /配置----with-SSL=/usr /本地/SSL-- -禁用- LDAP
请注意,在编译时将ssl类库指定为上一步骤的安装目录。
验证Tsl是否受支持,然后直接安装:
生成安装
gpg文件签名校验
下载的源代码为了确保安全,会检查文件签名(壮实的白羊指纹)、curl用的gpg检查。 在以前的文章中也说过为了安全起见,下载任何正式文件后都要进行文件检查,但是您可能知道md5和shaX类的检查流程,这里不做说明。这里以curl源代码为例,说明gpg文件签名的验证。 gpg签名不仅需要源文件的签名,还需要发行者的公钥,两者可以合作验证,所以比较复杂,但更安全可靠。
1、下载源代码和文件签名:
源代码:
wget 3358 curl.haxx.se /下载/curl-7.59.0.tar.gz
文件签名
359 Curl.Haxx.se /下载/Curl-7.59.0.Tar.GZ.ASC
2、下载gpg公钥
wget https://丹尼尔. haxx.se/mykey.ASC
3、导入公钥
GPG--导入密钥. ASC
4、文件校验
GPG----验证中心-7. 59.0.Tar.GZ.ASC上面第二行说明,签名玩了,检查没问题。 对于下面第3行和第4行的警告,由于公开密钥是直接从官方下载的,未通过认证机构认证,因此会发出警告。 无视也没关系。
升级git
1、下载git源码,我们选择新版本2.16.2
wget https://www.kernel.org/pub /软件/广告/千兆以太网-2. 16.2 .明星. GZtar xzf git-2.1.2.tar.gz
2、编译安装git
标记配置. /配置- -首选项=/usr /本地/git--与lib=/usr /本地/SSL /
生成安装
3、做下链接加入到用户环境中
ECHO '导出路径=$ path :/usr/local/git /笑点少的雪糕'/etc/bashrc启用配置
源/ETC /基础
4、查看git版本
千兆位版本结果已经是最新版本,版本信息如下。
git版本2.16.2
对于
window下客户端升级
窗口中的git客户端、窗口中的客户端,请先升级git客户端。
设置各个git 图形客户端:
小乌龟TortoiseGit设置
将被设置为升级后git for windows的路径。
在类似于
Android Studio、IntelliJ IDEA和Visual Studio Code配置
的配置中,更改新版本的git执行路径。