由于众所周知的原因,GitHub在国内访问日常抽风,对于Web页面,我们可以直接通过浏览器挂代理访问。但终端下通过SSH协议的访问,速度依然很慢,甚至会出现无法正常连接的情况。本文将介绍如何在Mac下配置Git的SSH协议代理
获取本地 Socks 5 代理
打开Shadowsocks客户端,可以看到其支持本地Socks5代理功能。我们记录下本地Socks服务的地址和端口:127.0.0.1、1080 稍后会用到
Mac下配置SSH代理
通过SSH的ProxyCommand配置项和nc命令实现代理。打开.ssh文件夹下的Config文件,在GitHub的SSH配置下添加代理配置项
1 | ProxyCommand nc -X 5 -v -x proxy_address[:port] %h %p |
其中用到的nc命令参数含义如下:
- -X : 代理协议版本。可选值及意义如下,默认值为5,即Socks V.5
- 4: SOCKS V.4
- 5: SOCKS V.5
- connect: HTTPS
- -v : 提供详细输出
- -x : 代理地址、端口。使用上文中从Shadowsocks客户端获取到的Socks5代理参数即可
测试
在终端中通过SSH协议访问Github,猜测是笔者所在地的运营商把GitHub墙了,所以出现了如下的访问失败
现在,我们按前文所述在Config文件中添加代理配置,修改后结果如下:
代理配置好了,我们现在来看看效果。如下所示,一切尽在掌握之中,访问成功