fatal: unable to access 'https://github.com/PX4/px4_msgs.git/': GnuTLS recv error (-110): The TLS connection was non-properly terminated.
时间: 2024-12-27 14:18:48 浏览: 17
### 解决 Git 克隆仓库时遇到的 GnuTLS 收发错误问题
当尝试通过 HTTPS 协议克隆 GitHub 上的仓库时,如果遇到 `GnuTLS recv error (-110)` 错误提示,这通常意味着客户端与服务器之间的 TLS 连接未能正常终止。此类问题可能由多种因素引起,包括但不限于网络配置不当、防火墙设置严格或是本地安装的安全传输层库存在问题。
针对此情况,有几种方法可以尝试解决问题:
#### 方法一:禁用 SSL 验证并增加缓冲区大小
可以通过调整全局 Git 设置来绕过部分安全验证机制,并增大 HTTP 缓冲区以适应更大的数据包传输需求。具体操作如下所示[^3]:
```bash
sudo apt-get install gnutls-bin
git config --global http.sslVerify false
git config --global http.postBuffer 1048576000
```
> **注意**: 关闭SSL验证虽然能暂时规避某些连接失败的情况,但从长远来看并不推荐这样做,因为这样会降低通信安全性。
#### 方法二:更换为 SSH 方式进行版本控制同步
考虑到HTTPS协议下的潜在兼容性难题,改用SSH密钥认证方式或许是一个更好的解决方案。首先需要确保本机已正确配置好SSH公私钥对,并将其添加到GitHub账户中;之后再更新远程URL地址指向新的SSH路径即可完成切换过程。
例如对于`PX4/px4_msgs`这个项目而言,则应执行以下指令:
```bash
cd /path/to/local/repo
git remote set-url origin git@github.com:PX4/px4_msgs.git
```
#### 方法三:升级或重新编译 GnuTLS 库
有时旧版的 GnuTLS 可能存在一些未修复的漏洞或者是不完全支持最新的加密算法标准,从而引发上述异常现象。因此建议检查当前使用的 GNU/Linux 发行版所提供的软件源里是否有更高版本可用,并按照官方文档指导实施相应的更新措施。
另外也可以考虑手动下载最新稳定发行版源码文件自行编译安装,在此过程中务必仔细阅读README等相关说明材料以便顺利完成整个流程。
阅读全文