使用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 init
git config --global http.sslVerify false
git clone https://myurl/myrepo.git
其他回答
在.gitconfig文件中,您可以添加以下给定值,以使自签名证书可接受
sslCAInfo = /home/XXXX/abc.crt
它为我工作,只需运行以下命令
git config --global http.sslVerify false
它将打开一个git凭据窗口,提供您的凭据。第一次只有它问
我经常遇到这个问题,所以写了一个脚本从服务器下载自签名证书并将其安装到~/。然后更新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"
以下答案摘自迈克尔·考夫曼(Michael Kauffman)撰写的文章。
使用带有公司SSL证书的Git for Windows
问题:
如果你有一个公司SSL证书,想要从控制台或VSCode克隆你的repo,你会得到以下错误:
致命:无法访问“https://myserver/tfs/DefaultCollection/_git/Proj/”:SSL证书问题:无法获得本地颁发者证书
解决方案:
将根自签名证书导出到文件中。您可以在浏览器中完成此操作。 定位“ca-bundle”。crt”文件(当前版本C:\Program Files\Git\usr\ssl\certs,但在过去已更改)。将文件复制到您的用户配置文件。用文本编辑器(如VSCode)打开它,并将导出的证书的内容添加到文件的末尾。
现在我们必须配置git来使用新文件:
Git配置——global http。sslCAInfo C: /用户/ < yourname > / ca-bundle.crt
这将把以下条目添加到用户配置文件根目录下的.gitconfig文件中。
(http) sslCAInfo = C:/Users/<yourname>/ bat .crt