用 SSH 给服务器网络加速

现在在服务器上,需要访问 github 或者 huggingface 这些资源,发现是上不去的。

那么需要给服务器挂梯子。

当然由于服务器没有 GUI,user 没有 root 权限,往往这是一件非常困难的事。

可以通过本地挂梯子,然后 SSH 反向代理来实现。

反向代理

反向代理就是在服务器上开一个端口,让这个端口把流量转发给本机的一个端口。

在 SSH 连接时,加入 -R 指令即可:

 @ -R :localhost:
">复制ssh -p <r> <username>@<server_ip> -R <server_port>:localhost:<local_port>

server_port 就是服务器上要转发流量的端口(7001〜8999之间,不要和已有的冲突即可)
local_port 就是本机梯子的端口(clash 一般是 7890)

注:用 clash 时一定要打开允许局域网

(我也不太清楚反向代理的原理,哎要是《网络原理》讲这些,而不是死背nt协议的就好了)

示例:

复制ssh -p 8000 hopen@mmlab -R 7890:localhost:7890

当然我们也可以改 .ssh/config 这个文件(这样 VScode 连接时方便)

复制Host gnode1
  HostName 0.0.0.0
  Port 8001
  User hdeng
  IdentityFile C:UsersCold_Chair.sshid_rsa
  RemoteForward localhost:7890 localhost:7890

测试:

终端输入

复制curl -x localhost:7890 google.com

得到:

301 Moved

301 Moved

The document has moved here. ">复制<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8"> <TITLE>301 Moved</TITLE></HEAD><BODY> <H1>301 Moved</H1> The document has moved <A HREF="http://www.google.com/">here</A>. </BODY></HTML>

使用端口:

在终端里输入

复制export http_proxy=http://127.0.0.1:7890;
export https_proxy=http://127.0.0.1:7890;

这样服务器终端中运⾏的程序的所有HTTP、HTTPS流量都会由梯子转发。

此时我们测试一下 git clone,应该就没有问题了。

取消端口使用:

并不是所有下载都要用梯子,小心流量计费爆炸

复制unset http_proxy;
unset https_proxy;

可以用下面的指令看看:

复制echo $http_proxy;
echo $https_proxy;

google drive 下载:

https://zhuanlan.zhihu.com/p/614790111

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...