当我试图从我们的git服务器拉出来时,我收到此错误:
致命:无法访问'xxx':OpenSSL SSL_connect:与xxx连接的SSL_ERROR_SYSCALL
如果发生这种情况之前我只能通过恢复系统解决它,但这次我的系统恢复点由于某种原因被删除了,我也不能这样做。
所以这是因为我的系统设置中的某些内容与SSL有关,我不知道为什么。
我已经尝试安装git以使用Windows证书。存储而不是OpenSSL,我收到此错误:
致命:无法访问'xxx':schannel:无法接收握手,SSL / TLS连接失败
同样的问题,不同的错误信息。客户端问候后服务器没有发回hello消息。我认为这可能会发生,因为服务器不支持我在客户端问候消息中发送服务器的密码套件。所以我尝试了configuring a group policy并将服务器首先使用的密码套件按顺序放置。但它没有任何区别。
我可以通过浏览器连接git服务器的站点。所以我的问题是,我该怎么做才能解决这个问题?
您应该再次尝试使用Git for Windows release 2.14.2 (June 21th, 2018)进行测试,qzxswpoi在ssl backenhttp.sslCAinfo
schannel`中添加强制忽略is set to
的代码(以便不忽略Windows证书存储区)。
这在运行cURL v7.60.0(或更高版本)时才真正有用。
http
:使用安全通道时,默认忽略sslCAInfo
从cURL v7.60.0开始,安全通道后端可以使用通过
http.sslCAInfo
提供的证书包,但这会覆盖Windows证书存储区。由于默认情况下这是不可取的,所以让我们告诉Git默认情况下,当schannel
后端是通过http.sslBackend
配置时,默认情况下不会使用该包,除非useSSLCAInfo
覆盖此行为。
就我而言,我改变了.gitconfig
[http] sslbackend = schannel
至
[http] sslbackend = openssl
一个“弱”的解决方案是设置GIT_SSL_NO_VERIFY
:
export GIT_SSL_NO_VERIFY=true
或者在Windows上,如果使用命令行版本的Git,请在系统或命令行中设置环境变量:
set GIT_SSL_NO_VERIFY=true
它会简单地做它说的......
在我的情况下,没有正确配置NO_PROXY变量。
在我的情况下 - jenkins工作中的同样问题 - 我提供了错误的用户凭据。
git push origin destination branch