为什么Schannel无法从服务器接收握手?

Sel*_*enç 9 windows git ssl openssl tls1.2

当我尝试从我们的 git 服务器中拉取时,我收到此错误:

致命:无法访问“xxx”:OpenSSL SSL_connect:连接到 xxx 的 SSL_ERROR_SYSCALL

当发生这种情况之前,我可以通过简单地恢复系统来解决它,但是这次我的系统还原点由于某种原因被删除了,我也不能这样做。

所以发生这种情况是因为我的系统设置中与 SSL 相关的某些内容发生了变化,但我不知道为什么。

我尝试安装 git 以使用 Windows 证书。store 而不是 OpenSSL,我收到了这个错误:

致命:无法访问“xxx”:schannel:无法接收握手,SSL/TLS 连接失败

同样的问题,不同的错误信息。服务器没有在客户端问候之后发回问候消息。我认为这可能会发生,因为服务器不支持我在客户端 hello 消息中向服务器发送的密码套件。因此,我尝试配置组策略并将服务器使用的密码套件按顺序排列。但这没有任何区别。

我能够通过浏览器连接 git 服务器的站点。所以我的问题是,我能做些什么来解决这个问题?

小智 6

就我而言,我将 .gitconfig 从

[http] sslbackend = schannel
Run Code Online (Sandbox Code Playgroud)

[http] sslbackend = openssl
Run Code Online (Sandbox Code Playgroud)


Att*_*pak 5

unable to access 'https://hostname.local/reponame.git/': schannel: failed to receive handshake, SSL/TLS connection failed当我尝试对本地网络上的 git 存储库使用 http 代理(无法通过该特定代理访问)时,我遇到了错误。我将 http.proxy 设置重置为空字符串:

git config --global http.proxy ""
Run Code Online (Sandbox Code Playgroud)

(请注意,就我而言,这是全局级别设置,YMMV。)


小智 5

对我来说,这似乎与我的设备上预装的一些有问题的软件有关。无论是使用 OpenSSL 还是 schannel,当优先级引擎打开时,我的 Killer 无线网络适配器都会遇到这些间歇性问题。当我禁用它时,所有问题都消失了,并且其他网络操作总体上似乎也更快。

杀手级优先引擎

如果您在 Windows 上安装了该软件,则可以通过在开始菜单中键入“Killer”并启动“Killer Intelligence Center”来禁用它。在版本 3.1222.726.1 上,您应该在仪表板右侧的“快速设置”中看到一个名为“优先级引擎”的选项。将其关闭并再次测试您的 git 操作。我还不确定如果我只是卸载这个软件会发生什么。


Fab*_*eau -1

一种“弱”解决方案是设置GIT_SSL_NO_VERIFY

export GIT_SSL_NO_VERIFY=true
Run Code Online (Sandbox Code Playgroud)

或者在 Windows 上,设置环境变量,可以在系统中设置,也可以在命令行中设置(如果使用命令行版本的 Git):

set GIT_SSL_NO_VERIFY=true
Run Code Online (Sandbox Code Playgroud)

它只会按照它所说的去做......