WSL环境下Git无法连接Bitbucket Server的问题求助
WSL中无法访问需VPN的Bitbucket问题解决
问题背景
- WSL已成功对接GitHub,但无法连接需VPN访问的Bitbucket;Windows端浏览器及CLI执行
git clone可正常完成(通过Git凭据管理器登录后成功) - WSL中HTTPS克隆命令无响应,SSH克隆超时,调试信息显示连接目标IP的22/443端口均超时
可行解决步骤
1. 修复WSL的VPN路由指向
Windows的VPN路由默认不会同步到WSL,需手动添加路由:
- 在Windows CMD执行
ipconfig,找到VPN适配器的默认网关(如10.20.30.1) - 执行
ping custombitbucketurl.com获取Bitbucket实例的IP地址 - 进入WSL,添加定向路由:
sudo ip route add <Bitbucket实例IP> via <VPN网关IP> dev eth0 - 重新测试SSH连接:
ssh -T git@custombitbucketurl.com -p 443
2. 配置WSL使用Windows代理
若VPN通过代理提供服务,在WSL中设置代理环境变量:
# Windows代理IP通常为WSL默认网关172.17.0.1,端口需匹配VPN设置 export HTTP_PROXY=http://172.17.0.1:8080 export HTTPS_PROXY=http://172.17.0.1:8080
可将上述命令添加到~/.bashrc或~/.zshrc实现永久生效。
3. 修改SSH配置走代理
若Bitbucket实例仅允许通过代理访问SSH,更新~/.ssh/config:
Host custombitbucketurl.com Hostname custombitbucketurl.com Port 443 # 替换为Windows VPN的代理IP和端口 ProxyCommand nc -X connect -x 172.17.0.1:8080 %h %p
4. 直接调用Windows Git
如果以上方法均无效,可让WSL使用Windows端的Git(自动复用Windows的VPN和凭据):
git config --global core.gitcommand "/mnt/c/Program\ Files/Git/cmd/git.exe"
内容的提问来源于stack exchange,提问作者Brian Barry
相关产品推荐
相关产品推荐

