使用ssh代理加速github

前言

💡 背景:在公司摸鱼时偷偷整了个小项目存在github上,回到寝室兴高采烈地打开自己的小破笔记本准备接着完善项目, 但看着全局代理情况下git clone 27kb / s 的龟速,我血压一下子就上来了,于是去学了以下如何提速。(请注意:本方法需要科学上网)

本方法学自:设置代理解决github被墙 - 知乎 (zhihu.com), 但该文章中还存有一些可能导致困惑的地方,我将在本篇文章中尽量避免


使用ssh代理加速github的步骤

1. 确认自己梯子的本地代理端口号

以我使用的vray为例,红色箭头所指的为梯子的三个端口号,其中,33612是与代理服务器进行连接的端口,而socks 与 http 是本地的端口号,也是我们接下来需要使用到的端口。

Untitled

2.确认自己Git连接执行文件的文件路径

Git 的连接执行文件是connect.exe

所在的路径一般为: git的安装目录\mingw64\bin\connect

我将git安装在E盘的App目录中,该路径就为 E:\App\Git\mingw64\bin\connect

Untitled

3.修改ssh的配置

进入你的.ssh目录,路径一般为 C:\User\你使用的用户名\.ssh, 在这个目录下新建一个config文件(无后缀),将以下内容写入该文件中。

其中:

路径1: 第二步中确定的路径,如我使用的:E:\APP\Git\mingw64\bin\connect

端口: 第一步中确认的两个端口中的任意一个,如我使用的为socks端口,10808

路径2:.ssh目录中以id_为前缀的文件的路径,如我的.ssh中该文件名称为id_ed25519, 则我的路径2为 C:\Users\我使用的用户名\.ssh\id_ed25519

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#Windows用户,注意替换你的端口号和connect.exe的路径
ProxyCommand "路径1" -S 127.0.0.1:端口 -a none %h %p

#MacOS用户用下方这条命令,注意替换你的端口号
#ProxyCommand nc -v -x 127.0.0.1:端口 %h %p

Host github.com
User git
Port 22
Hostname github.com
# 注意修改路径为你的路径
IdentityFile "路径2"
TCPKeepAlive yes

Host ssh.github.com
User git
Port 443
Hostname ssh.github.com
# 注意修改路径为你的路径
IdentityFile "路径2"
TCPKeepAlive yes

4.验证

win+r 并输入cmd 进入控制台, 输入ssh -T git@github.com ,回车,查看结果。返回successful之类的就意味着成功了。

速度变成了4MB每秒

速度变成了4MB每秒