WSL2 git clone命令无法克隆远程仓库

问题描述

最近在往WSL2里拉取git仓库的时候,突然出现了这个问题,WSL2无法连接到git服务器,导致代码无法拉取下来,可能是因为我最近不小心修改了windows的防火墙设置,导致出现了这个问题。
在这里插入图片描述

解决办法

在查阅了很多篇博客以后,终于找到一篇博客可以解决我这个问题,下面记录一下详细过程

1. 查看 windows 当前和 wsl 处于同一网段的 ip

echo "Host ip: $(cat /etc/resolv.conf | grep nameserver | awk '{ print $2 }')"
Host ip: 172.17.122.209

2. 设置允 windows 防火墙,允许 wsl 访问

在管理员模式的 PowerShell 输入以下命令:

New-NetFirewallRule -DisplayName "WSL" -Direction Inbound  -InterfaceAlias "vEthernet (WSL)"  -Action Allow

3. 设置防火墙对代理的连接协议放行

点击受保护的网络连接的自定义。
在这里插入图片描述
不勾选WSL项。
在这里插入图片描述
打开使用代理服务器,将端口号设置为7890。
在这里插入图片描述
在这里插入图片描述

5. 设置 git 的 http 代理

在WSL的命令窗输入以下命令,其中172.17.122.209是第1步所获取的WSL当前的IP地址。

git config --global http.https://github.com.proxy http://172.17.122.209:7890
git config --global https.https://github.com.proxy http://172.17.122.209:7890

6. 拉取git仓库

在拉取仓库时,使用HTTPS作为URL。

git clone https://github.com/cu-ecen-aeld/aesd-assignments.git

在这里插入图片描述

参考

[1] 拉取github项目的时候,git clone https 失败,需要设置 wsl2 使用 windows 上的代理