首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >git致命错误:不支持SSL后端“schannel”

git致命错误:不支持SSL后端“schannel”
EN

Stack Overflow用户
提问于 2021-03-29 22:16:19
回答 3查看 16.7K关注 0票数 7

尝试使用规范的git-bash访问准备好的git,我得到了:

代码语言:javascript
运行
复制
$ git pull
fatal: Unsupported SSL backend 'schannel'. Supported SSL backends:
        gnutls

在WSL下使用Git Bash之后,我做了git config http.sslBackend openssl

代码语言:javascript
运行
复制
$ git config http.sslBackend 
openssl

$ git config --global http.sslBackend
openssl

下面是技巧来自reddit,我已经做了如下工作:

代码语言:javascript
运行
复制
sudo apt install -y gnutls-bin

# and here are my installed packages:
ii gnutls-bin  amd64 GNU TLS library - commandline utilities
ii libcurl3-gnutls:amd64  amd64 easy-to-use client-side URL transfer library (GnuTLS flavour)
ii libgnutls-dane0:amd64  amd64 GNU TLS library - DANE security support
ii libgnutls30:amd64  amd64 GNU TLS library - main runtime library

我还错过了什么?

代码语言:javascript
运行
复制
$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 10 (buster)
Release:        10
Codename:       buster

在Windows中运行。

PS。经过以上的调整,git-bash仍然可以pull这个git,所以我想SSL backend 'schannel'是在这个回购的其他地方配置的。

PPS.发现它与"__git-bash准备的give“无关,因为即使克隆一个新的,也会给我同样的错误。

这是我的git config --show-origin -l输出,如果需要包含更多内容,请告诉我:

代码语言:javascript
运行
复制
$ git config --show-origin -l | grep -E 'ssl|http'
file:/home/me/.gitconfig        http.sslbackend=openssl
file:.git/config        http.sslverify=false
file:.git/config        http.sslbackend=openssl
file:.git/config        http.emptyauth=true
file:.git/config        remote.origin.url=http://xxx:8080/tfs/DefaultCollection/xxx
file:.git/config        lfs.http://xxx:8080/tfs/DefaultCollection/xxx/info/lfs.access=ntlm
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-03-30 00:58:00

通常,http.sslBackend选项只能在Windows上使用。大多数Linux发行版不提供它作为选项,因为它们不使用多个TLS库进行编译。

正确的解决方案是删除所有http.sslBackend选项:

代码语言:javascript
运行
复制
$ git config --unset-all http.sslBackend

如果由于某种原因必须使用OpenSSL,则需要自己编译。大多数Linux发行版都被禁止在GPLv2下分发链接到GPLv2的Git,所以它们通常不会这样做。

票数 8
EN

Stack Overflow用户

发布于 2021-05-20 17:53:34

由于@ by 2204提供的解决方案对我不起作用,所以我尝试手动将其更改为"gnutls“值,并且成功了。

我试过@ me 2204补丁,但它对我没有用。

git配置--未设置--所有http.sslBackend

2-尝试将http.sslBackend设置为"openssl“

git配置--全局http.sslBackend "openssl“

不是

如果cmd提议使用gnutls,为什么不使用它呢?

git配置--全局http.sslBackend "gnutls“--它也不起作用

4-手动更换!

cmd: vim ~/..gitconfig替换http sslBackend到gnutls的值

塔塔!

.gitconfig结果

代码语言:javascript
运行
复制
[http]
        sslBackend = gnutls
票数 9
EN

Stack Overflow用户

发布于 2022-11-07 14:30:41

解决这个问题的解决方案是从-全局和-系统中删除所有配置。

一个接一个地添加所需的配置。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66862358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档