git杂记:忽略ssl认证

时间:2021-04-29 16:11:13
当你通过HTTPS访问Git远程仓库,如果服务器的SSL证书未经过第三方机构签署,那么Git就会报错。这是十分合理的设计,毕竟未知的没有签署过的证书意味着很大安全风险。但是,如果你正好在架设Git服务器,而正式的SSL证书没有签发下来,你为了赶时间生成了自签署的临时证书,怎样才是最便捷的测试手段。

本文记录一种比较好的做法:

第一步,克隆远程仓库时,用env命令设置GIT_SSL_NO_VERIFY环境变量为"ture",并同时调用正常的git clone命令。完整的命令如下:
Bash代码

    export GIT_SSL_NO_VERIFY=true

    git clone https://host_name/git/project.git

     或者连成一行:

    env GIT_SSL_NO_VERIFY=true  git clone https://host_name/git/project.git


第二步,在克隆完毕的仓库中将http.sslVerify设置为"false"。完整的命令如下:
Bash代码

    git config http.sslVerify "false"  

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