git忽略ssl认证

问题

在是用git克隆仓库的时候,报错如下:

  fatal: unable to access ‘https://github.com/........../‘: OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443

解决方案

env命令设置GIT_SSL_NO_VERIFY环境变量为”ture”,并同时调用正常的git的clone命令,即在git里输入:

1 export GIT_SSL_NO_VERIFY=true
2 git clone https://host_name/git/project.git 
3 或者写成一行
4 env GIT_SSL_NO_VERIFY=true  git clone https://host_name/git/project.git

在clone完毕的仓库中将http.sslVerify设置为"false":

git config http.sslVerify "false" 

说明

当你通过HTTPS访问Git远程仓库的时候,如果服务器的SSL证书未经过第三方机构(例如:CA)签署,那么Git就会报错。原因是因为未知的没有签署过的证书意味着可能存在很大的风险。但是如果你正好在架设Git服务器,而正式的SSL整数没有签发下来,你为了赶时间生成了自签署的临时证书,上面方法就是最便捷的测试手段。

上面方法应该是Git处理可信任的SSL临时证书的很好方案,第一步用env命令保证了忽略整数错误是单行行为,不会成为默认设置。第二步则把忽略证书错误的设置限定在特定的仓库,避免扩大应该设置的适用范围而引起的潜在安全风险。

猜你喜欢

转载自www.cnblogs.com/c2016c/p/9334153.html