使用Git,是否有一种方法告诉它接受自签名证书?
我使用https服务器托管git服务器,但目前证书是自签名的。
当我第一次尝试在那里创建回购时:
git push origin master -f
我得到了错误:
error: Cannot access URL
https://the server/git.aspx/PocketReferences/, return code 22
fatal: git-http-push failed
使用Git,是否有一种方法告诉它接受自签名证书?
我使用https服务器托管git服务器,但目前证书是自签名的。
当我第一次尝试在那里创建回购时:
git push origin master -f
我得到了错误:
error: Cannot access URL
https://the server/git.aspx/PocketReferences/, return code 22
fatal: git-http-push failed
当前回答
我经常遇到这个问题,所以写了一个脚本从服务器下载自签名证书并将其安装到~/。然后更新git-config以指向这些证书。它存储在全局配置中,因此每个远程只需要运行一次。
https://github.com/iwonbigbro/tools/blob/master/bin/git-remote-install-cert.sh
其他回答
您可以像这样添加自签名证书,然后再按…
git config --global http.sslCAInfo "C:\Program Files\Git\usr\ssl\cert.pem"
我经常遇到这个问题,所以写了一个脚本从服务器下载自签名证书并将其安装到~/。然后更新git-config以指向这些证书。它存储在全局配置中,因此每个远程只需要运行一次。
https://github.com/iwonbigbro/tools/blob/master/bin/git-remote-install-cert.sh
你可以将GIT_SSL_NO_VERIFY设置为true:
GIT_SSL_NO_VERIFY=true git clone https://example.com/path/to/git
或者配置Git不验证命令行上的连接:
git -c http.sslVerify=false clone https://example.com/path/to/git
请注意,如果您不验证SSL/TLS证书,那么您很容易受到MitM攻击。
我的回答可能晚了,但对我有用。它可能会帮助某些人。
我尝试了上面提到的步骤,但没有解决问题。
试试这个git配置——global http。sslVerify假
在Windows上使用64位版本的Git,只需将自签名CA证书添加到这些文件中:
C:\Program Files\Git\mingw64\ssl\certs\ ca-bundle.crt C:\Program Files\Git\mingw64\ssl\certs\ ca-bundle.trust.crt
如果它只是一个服务器自签名证书,请将其添加到
C:\Program Files\Git\mingw64\ssl\cert.pem