Ubuntu Git连接不上

执行 git clone 报错

Error 110

1、错误提示:

1
fatal: unable to access 'https://github.com/****.git/': GnuTLS recv error (-110): The TLS connection was non-properly terminated.

2、解决方案

1
2
3
4
sudo apt-get update
sudo apt-get install gnutls-bin
git config --global http.sslVerify false
git config --global http.postBuffer 1048576000

Error 7

1、错误提示:

1
curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused 

可以发现,脚本需要到 raw.githubusercontent.com 上拉取代码。网上搜索了一下,发现是 github 的一些域名的 DNS 解析被污染,导致DNS 解析过程无法通过域名取得正确的IP地址。

2、解决方案
打开 https://www.ipaddress.com/ 输入访问不了的域名
查询之后可以获得正确的 IP 地址

在本机的 host 文件中添加,建议使用 switchhosts 方便 host 管理

1
2
3
4
199.232.68.133 raw.githubusercontent.com
199.232.68.133 user-images.githubusercontent.com
199.232.68.133 avatars2.githubusercontent.com
199.232.68.133 avatars1.githubusercontent.com

3、Ubuntu修改host

1
2
3
sudo nano /etc/hosts
# 模仿已有的配置,比如
0.0.0.0 account.jetbrains.com

修改 hosts 后,使 hosts 文件修改生效:

1
2
sudo /etc/init.d/dns-clean start
sudo /etc/init.d/networking restart

保存后重启网络就可以了。

参考

https://github.com/hawtim/hawtim.github.io/issues/10