我必须使用没有适当证书的git服务器,但我不想这样做
env GIT_SSL_NO_VERIFY=true git command
我每次都进行git操作。但我还想为其他git存储库启用SSL。有没有办法让这个本地单个回购?
答案 0 :(得分:407)
你可以做到
git config http.sslVerify false
在您的特定仓库中,仅为该仓库禁用SSL证书检查。
答案 1 :(得分:91)
就像Thirumalai所说的那样,但是在克隆的存储库里面没有--global
。即,
GIT_SSL_NO_VERIFY=true git clone https://url
cd <directory-of-the-clone>
git config http.sslVerify false
答案 2 :(得分:85)
您可以执行以下操作
单个回购
git config http.sslVerify false
对于所有回购
git config --global http.sslVerify false
答案 3 :(得分:11)
如果您使用的是Windows计算机并安装了Git,则可以尝试以下步骤:
在 [http] 部分下,添加以下行: sslVerify = false
[http]
sslVerify = false
答案 4 :(得分:9)
特别是如果你需要递归克隆
GIT_SSL_NO_VERIFY=true git clone --recursive https://github.com/xx/xx.git
答案 5 :(得分:4)
如果您必须为托管多个存储库的一台git服务器禁用SSL检查,则可以运行:
git config --bool --get-urlmatch http.sslverify https://my.bad.server false
(如果您仍然使用git
命令末尾的documentation的说明,显示
.gitconfig
内容如下:
[http "https://my.bad.server"]
sslVerify = false
无论存储库如何,它将忽略对此服务器的所有证书检查。
您在the code
中也有一些解释答案 6 :(得分:3)
有一种简单的方法可以配置GIT以正确的方式处理您的服务器。 只需为您的git服务器添加一个特定的http部分,并指定要信任的证书(Base64编码):
<强>〜/的.gitconfig 强>
[http "https://repo.your-server.com"]
# windows path use double back slashes
# sslCaInfo = C:\\Users\\<user>\\repo.your-server.com.cer
# unix path to certificate (Base64 encoded)
sslCaInfo = /home/<user>/repo.your-server.com.cer
这样您就不会再有SSL错误并验证(通常)自签名证书。这是最好的方法,因为它可以保护您免受中间人攻击。当您只是禁用ssl验证时,您很容易受到这类攻击。
答案 7 :(得分:2)
这对我有用:
git init
git config --global http.sslVerify false
git clone https://myurl/myrepo.git
答案 8 :(得分:0)
对于windows,如果你想要全局配置,那么运行
git config --global http.sslVerify false
答案 9 :(得分:0)
在Linux上,如果你在git repository文件夹中调用它:
git config http.sslVerify false
这会在sslVerify = false
文件夹中的[http]
文件的config
部分添加.git
,如果您想手动添加此文件夹,这也可以作为解决方案与nano .git/config
:
...
[http]
sslVerify = false
答案 10 :(得分:0)
这个问题不断出现,我还没有找到令人满意的结果,所以这是对我有用的(基于先前的答案https://stackoverflow.com/a/52706362/1806760,它不起作用):
我的服务器是https://gitlab.dev
,带有自签名证书。
首先运行git config --system --edit
(如果只想为用户使用,请从提升的命令提示符处,将--system
更改为--global
),然后在之前的{ {1}}节:
[http]
然后检查您是否正确完成了所有操作:
[http "https://gitlab.dev"]
sslVerify = false
答案 11 :(得分:0)
还有一点,除了
git config --global http.sslVerify false
只需将 SSL 验证设置为 false ,您还必须拥有克隆存储库的密钥。像这样
git clone https://5edwerwe32434lcvghjjextragecj@github.airbus.corp/Airbus/MYX-SQL-Database.git"
5edwerwe32434lcvghjjextragecj是在settings/Developer settings/
下从github生成的token