解决新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

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

Host github.com
  Hostname ssh.github.com
  Port 443

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

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

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

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

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

首先我对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

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

Name:	github.com
Address: 127.0.0.1

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

解决问题

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

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

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

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

140.82.113.4 github.com

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值