WSL 下使用 SSH 访问 GitHub 受阻的配置经验
在某些网络环境下,直接通过 SSH 访问 GitHub 会受阻,比如 22 端口被屏蔽。这篇文章总结了我在 Windows + WSL 环境下,利用 Clash Verge 的 TUN 模式 配置 SSH 代理的经验。
背景
Windows 上安装了 Clash Verge 并启用 TUN 模式,Socks5 代理端口为 7897。Windows 系统下 Git 通过以下 SSH 配置可以成功连接 GitHub:
Host github.com
HostName ssh.github.com
Port 443
User git
ProxyCommand YOUR_GIT\mingw64\bin\connect.exe -S 127.0.0.1:7897 %h %p
我们的目标是在 WSL 下也能顺利使用 ssh -T git@github.com。然而我在 WSL 下直接设置环境变量:export ALL_PROXY="socks5://127.0.0.1:7897"
然后执行 ssh -T git@github.com,会得到:Connection to github.com 22 port [tcp/ssh] succeeded!然后卡住。
原因分析
默认 SSH 连接使用 22 端口,很多网络环境屏蔽了 22 端口。
解决方案
- 将 Windows 的 connect.exe 添加到 WSL 路径在 WSL 的终端中,添加 connect.exe 的路径:export PATH=$PATH:/mnt/YOUR_GIT/mingw64/bin
- 在 WSL 中修改 SSH 配置编辑 ~/.ssh/config,添加 GitHub 的代理配置:
Host github.com
HostName ssh.github.com
Port 443
User git
ProxyCommand /mnt/YOUR_GIT/mingw64/bin/connect.exe -S 127.0.0.1:7897 %h %p
注意事项
- /mnt/c/... 是 WSL 访问 Windows 文件路径的方式。
- Port 443 避免了网络屏蔽 22 端口的问题。ProxyCommand 指定了使用 Socks5 代理。
- 测试连接执行以下命令测试连接:ssh -T git@github.com
如果配置正确,你会看到认证成功的提示,表明连接已成功通过代理。
总结经验
- 端口选择很重要:22 端口可能被屏蔽,使用 443 端口更稳妥。
- WSL 可以直接调用 Windows 可执行文件,路径使用 /mnt/c/...。配置一次后,无需每次导出环境变量,~/.ssh/config 会自动生效。
通过以上步骤,WSL 下的 SSH 可以顺利通过 Clash Verge TUN 代理 访问 GitHub,解决了网络限制问题。希望这个经验分享能对同样受限网络环境的开发者有所帮助。
下图是配置成功后 WSL 下的下载速度

WSL 下使用 SSH 访问 GitHub 受阻的配置经验的更多相关文章
- windows下配置ssh访问github
一.说明 一直使用HTTPS的方式访问github的代码,用的时间长了,发现这是效率很低的一种开发行为,因为每次git push的时候都要输入username和password.今天就介绍如何在win ...
- ITerm2下使用ssh访问Linux
通常情况下,iTerm2访问远程Linux使用ssh,与Termial基本一样,方法如下: ssh <用户名>@<ip> 然后输入访问的密码即可.当然还有的时候需要指定访问端口 ...
- Linux下的ssh、scala、spark配置
注:笔记旨在记录,配置方式每个人多少有点不同,但大同小异,以下是个人爱好的配置方式. 目录 一.配置jdk 二.配置ssh 三.配置hadoop 四.配置scala 五.配置spark 平台:win1 ...
- Windows10 下 github ssh 访问出现 Permission denied(publickey)错误的解决方法
Windows10 下 github ssh 访问出现 Permission denied(publickey)错误的解决方法. 错误信息: git clone git@github.com:ediw ...
- window下配置SSH连接GitHub、GitHub配置ssh key(转)
转自:http://jingyan.baidu.com/article/a65957f4e91ccf24e77f9b11.html 此经验分两部分: 第一部分介绍:在windows下通过msysGit ...
- window下配置SSH连接GitHub、GitHub配置ssh key
window下配置SSH连接GitHub.GitHub配置ssh key 此经验分两部分: 第一部分介绍:在windows下通过msysGit(Git for windows.Git Bash)配 ...
- windows下使用火狐浏览器插件AutoProxy+MyEnTunnel+SSH访问海外站点(转)
windows下使用火狐浏览器插件AutoProxy+MyEnTunnel+SSH访问海外站点 平时需要查阅一些技术资料,光走VPN太浪费流量,所以这儿教大家一种使用火狐浏览器的插件 AutoPr ...
- ssh-keygen+ssh-copy-id 在linux下实现ssh无密码登录访问(转)
转自:http://blog.csdn.net/pennyliang/article/details/8556662 ssh-keygen+ssh-copy-id 在linux下实现ssh无密码登录访 ...
- Windows下设置 ssh key,配置GitHub ssh key
1.新建一个目录,利用git工具打开 Git Bash Here 2.执行如下命令 ssh-keygen -t rsa -C "email@email.com" 其中邮箱为GitH ...
- 关于Mac下的SSH客户端iterm2等配置
linux后台开发的同学们晓得,在windows下有xshell\securecrt这样优秀的ssh客户端软件.mac下查找了下,有securecrt mac版,网上也有破解的,试用了一段时间,一个问 ...
随机推荐
- 前端开发系列039-基础篇之Video基础
本文简单介绍HTML5中的video标签,包括video元素的简单介绍.基本使用以及常用事件和属性. 一.标签介绍 HTML5 规定了一种通过 Video 元素来包含视频的标准方法. Video标签用 ...
- sox 改变频率
http://blog.csdn.net/chenxieyy/article/details/51506766 1,将2.wav文件的采样率修改为16000HZ 命令如下:sox 2.wav ...
- leetcode 483 最小好二进制
简介 对于困难的题目, 一般好像是不会一下子得出答案, 需要进行一定的数学分析, 然后才可以得出答案. 官房给出了数学的证明, 但是一般人数学早丢了, 还是二分法有用. 参考大神的, 思路简单来说就是 ...
- linux 网络编程 新技能
{} 配对问题.这个在多个json文件中找到配对的{} 括号实在不容易. 使用 % 号吧少年. gg 跳到首部 GG 跳转到尾部. XXG 可以跳转到多少多少行. gcc -E 执行预处理的结果.变量 ...
- 生成 cone(锥体)
简介 生成 圆锥 代码 // CreateCone.cpp: 定义控制台应用程序的入口点. // #include <iostream> #include <OpenMesh/Cor ...
- lingo 解基础 0 - 1 背包问题
简介 没想到 0 - 1背包问题还可以这么解 question 假设现在有8件物品,他们的质量分别为3,4,6,7,9,10,11,12; 价值分别为 4,5,7,9,11,12,13,15; 假设总 ...
- Car Kit重构车机开发体验,让车载应用开发驶入快车道
在智能座舱成为汽车行业"新四化"核心战场的今天,开发者们正面临这样的挑战:如何让手机应用快速适配车机场景?如何实现手机与车机无感流转?如何在保障驾驶安全的前提下提供沉浸式交互体验? ...
- idea中运行java程序报Error:(4,25) --九五小庞
报错信息如下 在网上找了一通,终于找到了解决的方法 参考网上教程安装lomobok插件,pom文件添加依赖之后 出现 Error:(3, 14) java: 程序包lombok不存在 错误 解决方案 ...
- hpc超算集群的dd命令进行系统恢复
方法:通过镜像其他节点来进行操作系统的恢复 1 把需要修复的系统盘插入到正常节点去,然后通过fdisk -l 查看磁盘的系统名是多少,如果假设为/dev/sdc 2 这个时候可以输入命令进行光盘数据的 ...
- GitHub上创建仓库并clone到当前开发环境
点击头像选择your repositories->New进入如下界面: 选择自己需要的选项而后创建 clone到当前开发环境,在命令行输入:git clone 复制SSH的URL