服务器转发流量至本地

服务器转发流量至本地

ssh连着服务器时,想要访问github,huggingface之类的,基本是上不去的。所以需要给服务器配一个梯子。但是没有GUI,也没有root权限,本人也懒,所以使用另一种方式。 利用ssh,在服务器上开一个端口,访问网址时将流量转发回本地,之后只要本地挂着梯子就可以了。

配置ssh文件

.ssh/config文件配置如下

1
2
3
4
5
6
Host Localc
HostName 你连的服务器的IP
Port 服务器上要转发流量的端口
User 服务器登录用户名
IdentityFile XXXX\.ssh\id_rs
RemoteForward [远程监听地址:远程端口] [本地目标地址:本地端口]

本地使用clash的话,打开“局域网连接”选项。一般它的端口就是7890,所以上述格式中最后一行一般写为

1
RemoteForward localhost:7890 localhost:7890

本地ssh连接

本地连上刚刚配的ssh

1
ssh Localc
此时一般就ok了。尝试
1
curl -x localhost:7890 google.com
可以收到如下内容
1
2
3
4
5
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.com/">here</A>.
</BODY></HTML>
就代表ok了。

此时再去用git clone之类的就没问题了。

需要注意的是,wget这种默认不会走代理端口,需要手动设置一下

1
2
export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890


服务器转发流量至本地
https://sophilex.github.io/posts/be9c436c/
作者
Sophilex
发布于
2025年5月22日
许可协议