Git(七): Maç下配置SSH代理

由于众所周知的原因,GitHub在国内访问日常抽风,对于Web页面,我们可以直接通过浏览器挂代理访问。但终端下通过SSH协议的访问,速度依然很慢,甚至会出现无法正常连接的情况。本文将介绍如何在Mac下配置Git的SSH协议代理

figure

获取本地 Socks 5 代理

打开Shadowsocks客户端,可以看到其支持本地Socks5代理功能。我们记录下本地Socks服务的地址和端口:127.0.0.1、1080 稍后会用到

figure 1.jpeg

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墙了,所以出现了如下的访问失败

figure 2.jpeg

现在,我们按前文所述在Config文件中添加代理配置,修改后结果如下:

figure 3.jpeg

代理配置好了,我们现在来看看效果。如下所示,一切尽在掌握之中,访问成功

figure 4.jpeg

0%