尝试进行git fetch时,TLS证书验证已被禁用!

3

我正在尝试在一个仓库上执行git fetch,但是我收到了这个警告:TLS证书验证已被禁用!虽然这是一个警告,但实际上fetch操作并没有发生。

enter image description here

我已经在此存储库的git配置中将sslVerify设置为false:

[http]
    sslVerify = false

因为仓库包含自签名证书。希望能得到任何有关此问题的帮助。
编辑:远程是一个自托管的Git仓库,具有自签名证书。
1个回答

1
这条消息来自Git凭据管理器核心,它是Windows上常用的凭据助手。该消息存在是因为通过禁用证书验证,您已经删除了HTTPS获得的任何安全性,并允许几乎任何能看到您的网络流量的人查看和篡改您的数据,包括您的凭据。因此,您的连接仅比使用纯HTTP稍微好一点。
如果您访问指定的链接,将会看到一些选项的文本:
建议和最安全的选择是获取由公共受信任的证书颁发机构签名的TLS证书。有多个公共CA,以下是一个非全面的列表可供考虑:Let's Encrypt、Comodo、Digicert、GoDaddy、GlobalSign。
如果无法从受信任的第三方获取TLS证书,则应尝试将特定的自签名证书或验证链中的一个CA证书添加到操作系统的受信任证书存储(macOS、Windows)中。
如果无法获取受信任的证书或信任自签名证书,则可以在Git和GCM中禁用证书验证。
您还可以切换到SSH,它是首次信任并不需要CA证书,并且通常使用公钥,因此通常根本不发送任何私有凭据。

我仍然不明白为什么简单地禁用SSL验证无法正常工作。 - Fakhar Ahmad Rasul
禁用是导致这个问题的原因。你应该将证书添加到你的信任存储中。 - o11c
因此,对于“远程是一个带有自签名证书的自托管git存储库”的情况,我们作为最终用户没有太多可以做的。这取决于git管理员来解决问题,对吗? - xpt
是的,这是一个需要由服务器管理员处理的错误配置。即使是内部主机,也可以使用CA颁发的证书。 - bk2204

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接