当前位置:   article > 正文

解决新Windows系统下Git克隆连接超时问题

解决新Windows系统下Git克隆连接超时问题

最近,我在Windows系统的电脑上,尝试使用Git克隆项目时,不断遇到连接超时的错误。无论如何尝试调整环境变量或配置代理,都未能解决问题。因此,开始了一系列的问题排查。

排查步骤

首先,我在Git Bash终端使用了ssh -T git@github.com命令来测试与GitHub的SSH连接。结果显示,22端口的连接超时:

ssh: connect to host github.com port 22: Connection timed out
  • 1

我开始思考,是否是端口问题。在搜索解决方案的过程中,我在Stack Overflow上找到了一些线索。有建议说可以尝试修改~/.ssh/config文件,以使用不同的端口连接GitHub。于是,我按照下面的配置进行了修改:

Host github.com
  Hostname ssh.github.com
  Port 443
  • 1
  • 2
  • 3

这个配置的目的是让GitHub通过443端口进行通信。有评论提到22端口可能被其他服务占用,这让我觉得有些道理。我使用vim ~/.ssh/config编辑了配置文件,但结果依然是:

ssh: connect to host github.com port 443: Connection timed out
  • 1

当我在苦苦思索为什么ping github.com也会超时时,我突然想起了一个经典的面试题:“在浏览器中输入URL会发生什么?”这让我意识到问题可能出在DNS解析上。

我学到了一个在终端中查看DNS服务器域名解析的命令:

// nslookup是域名解析工具
nslookup baidu.com
  • 1
  • 2

首先我对baidu.com执行了解析,结果如下:

Server:		119.6.6.6
Address:	119.6.6.6#53

Non-authoritative answer:
Name:	baidu.com
Address: 110.242.68.66
Name:	baidu.com
Address: 39.156.66.10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

然后我对github.com进行了同样的操作,结果显然不正常:

Name:	github.com
Address: 127.0.0.1
  • 1
  • 2

返回了127.0.0.1,这显然是错误的,因为这是本地回环地址。问题似乎就出在这里。

解决问题

许多人可能都修改过本地的DNS域名映射文件,这也是上述面试题中的一个知识点。于是,我打开了资源管理器,输入以下路径进行修改:

C:\Windows\System32\drivers\etc\hosts
  • 1

MacOS用户可以使用sudo vi /etc/hosts命令在终端中进行修改。

在文件末尾添加以下行,其中140.82.113.4是GitHub的服务器地址。添加后,就可以通过本地的域名映射来访问GitHub了:

140.82.113.4 github.com
  • 1

保存修改后,我终于可以不用代理,愉快地访问GitHub,并顺利完成了克隆项目的操作。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/914194
推荐阅读
相关标签
  

闽ICP备14008679号