Git:gnutls_handshake() 失败:拉取函数中出错



我在使用git pull命令时出错

fatal: unable to access 'https://github.com/path/to/repo.git/': gnutls_handshake() failed: Error in the pull function.

我从互联网上尝试了许多方法,但它们没有用。另外,尝试处理我网络中的代理。

我的电脑: Ubuntu 16.04 LTS x86_64

它有什么有效的方法来解决问题吗?

注意:有一些解决方案 https://devopscube.com/gnutls-handshake-failed-aws-codecommit/或 https://askubuntu.com/questions/186847/error-gnutls-handshake-failed-when-connecting-to-https-servers,但在我的情况下不起作用。

我通过以下方式解决了这个问题-

apt-get -y install build-essential nghttp2 libnghttp2-dev libssl-dev

我的服务器在代理后面,我遇到了同样的错误,我解决了这个修改~/.gitconfig添加代理conf:

[http]
proxy = http://xxx.xxx.xxx.xxx:pppp

我在Windows-WSL2/Ubuntu中使用git逐字收到了相同的错误

就我而言,当我放弃公司 VPN 连接并立即成功恢复使用 git 时,它得到了解决。

为了验证这是因果关系而不是相关性,我重新连接到 VPN 并再次尝试,它再次中断; 然后第二次放弃了 VPN - 瞧,它有效

希望对那里的人有所帮助!

我通过将 git 更新到最新版本来解决此问题:

sudo add-apt-repository ppa:git-core/ppa
sudo apt-get update
sudo apt-get install git

我找到了一个很好的解决方案:

只需创建一个 ssh 密钥并将它们添加到您的 github acc 中

帮助: 创建 ssh 密钥 在此页面上,首先选择您的操作系统,然后按照步骤

将新的 SSH 密钥添加到您的 GitHub 帐户

最后,使用 ssh 链接克隆存储库,而不是使用 http

我通过在 WSL 中运行以下命令来解决此问题:sudo ip link set dev eth0 mtu 1400

参考:Git 和 gnutls_handshake(( 失败:拉取函数错误

我在克隆 git 项目时收到此错误。 克隆URL端口和浏览器显示的URL端口在项目中显示不同的URL端口。 因此,我使用浏览器显示的URL端口来克隆项目,我可以成功克隆项目

[**我遇到了像你这样的问题,我给出了一个解决方法,步骤是:

  1. 确保在 UBUNTU 终端中以超级管理员身份登录
  2. 尝试在 GIT 中重复推送/拉取命令
  3. 系统将要求您提供您的 github 电子邮件和密码(从 2021 年 8 月 13 日开始,您必须使用令牌更改密码(
  4. 在您的 GIT 中创建个人令牌,您可以在 https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/**]屏幕截图我的问题中看到文档

我不知道谁会相信我,但对我来说,我重新启动了我的终端,一切都很好,我也使用 ubuntu,我知道你们大多数人都不会相信我,但它对我有用。 因此,只需重新启动终端即可。

我在 wsl2 ubuntu 中遇到了同样的问题 以下解决方案解决了我的问题。

https://github.com/microsoft/WSL/issues/5346#issuecomment-1016469312

https://serverfault.com/questions/1059522/meraki-vpn-behind-nat-breaks-bitbucket-git-on-wsl2-ubuntu-20-on-windows-10

检查两个链接。

最新更新