fatal: 无法访问 GnuTLS recv error (-110): The TLS connection was non-properly terminated.
时间: 2024-09-04 22:00:25 浏览: 169
这个错误信息 "fatal: 无法访问 GnuTLS recv error (-110): The TLS connection was non-properly terminated" 出现在Git命令行中,它表示你在尝试通过安全的HTTPS协议从远程Git仓库下载或推送数据时出现了问题。这里的"GnuTLS"是一个开源的加密库,"-110"通常表示一个网络错误,可能是因为连接被意外中断,服务器端关闭了连接,或者证书验证失败。
具体可能的原因有:
1. 网络不稳定或连接超时。
2. 服务器证书过期或者不受信任。
3. 代理设置配置不正确。
4. Git版本过旧,可能不支持某些新的TLS特性。
解决这个问题可以尝试:
1. 检查网络连接,确保能正常访问其他网站。
2. 更新或安装正确的Git版本,确保其对TLS的支持。
3. 验证Git仓库地址及其SSL/TLS设置是否正确。
4. 如果使用代理,确认代理服务器设置无误并且允许访问HTTPS。
相关问题
fatal: 无法访问 'https://github.com/GnuTLS recv error (-110): The TLS connection was non-properly terminated.
### Git克隆GitHub仓库时遇到的TLS连接终止错误解决方案
当尝试通过`git clone`命令从GitHub克隆项目时,如果收到类似于 `GnuTLS recv error (-110): The TLS connection was non-properly terminated.` 的错误消息[^1],可以采取几种不同的方法来解决问题。
#### 方法一:禁用SSL验证并增加POST缓冲区大小
对于某些环境下的网络配置问题,可以通过调整Git全局设置中的HTTP SSL验证选项以及增大POST请求的数据传输缓存空间来进行修复:
```bash
apt-get install gnutls-bin
git config --global http.sslVerify false
git config --global http.postBuffer 1048576000
```
这种方法适用于那些由于防火墙或其他安全策略阻止正常HTTPS通信的情况。不过需要注意的是关闭SSL验证可能会带来安全隐患,在生产环境中应谨慎使用此方式。
#### 方法二:更改协议类型为Git而非HTTPS
另一个简单的解决办法就是把默认使用的HTTPS URL改为Git URL形式,这样就不必依赖于TLS/SSL加密通道了:
```bash
$ git clone git://github.com/pjreddie/darknet.git
```
这种方式能够有效避开因证书握手失败而导致的问题,并且通常速度更快一些[^2]。
#### 方法三:使用管理员权限执行操作
有时也可能是因为本地文件系统的访问控制限制所引起的,这时可以在前面加上`sudo`指令以获得更高的权限级别再试一次:
```bash
sudo git clone https://github.com/jacksonliam/mjpg-streamer.git/
```
这一步骤可以帮助排除因为用户账户缺乏必要权限而无法完成写入动作的可能性[^3]。
fatal: 无法访问 'https://github.com/mininet/oflops/':GnuTLS recv error (-110): The TLS connection was non-properly terminated.
这个错误通常是由于TLS连接非正常终止引起的。解决这个问题的方法有两种:
1. 使用git协议进行克隆:
```shell
git clone git://github.com/mininet/oflops.git
```
这种方法会使用git协议进行克隆,而不是使用https协议。这样可以避免TLS连接的问题。
2. 配置git以禁用TLS验证:
运行以下命令来禁用TLS验证:
```shell
git config --global http.sslVerify false
```
这将全局禁用git的TLS验证。请注意,这会降低安全性,因此请谨慎使用。
阅读全文