上一版的服务器内命令行代理办法仍然有效,但是由于该软件使用的 Clash 内核在 23 年因不可抗力停止更新维护,导致现阶段较新的代理协议不受支持。
此外,由于许多代理软件较为依赖 Linux 的图形化界面,在服务器上部署不便。因此,本文提供了一个简洁的、将本地电脑作为访问外部网站跳板的操作手册,希望对广大服务器用户、学术研究者有帮助。
使用 SSH 软件进行代理
需要配备的软件
PS: 如果不想下载 Termius,请参考后文的 “使用终端进行代理” 章节。
操作步骤
本地代理设置
在本地电脑中打开 Clash Verge Rev,确保打开系统代理,允许局域网连接,并记下端口设置中的端口号(此处示例为 7897,后面会用到)。

配置 Termius 端口转发
在本地电脑中打开 Termius,点击左侧的 Port Forwarding,随后选择 New Forwarding 来新建一个端口转发。

在右侧的配置栏中,选用 Remote,用于将远程的端口在本地转发,随后点击 Continue。

选择需要转发的 Host 主机,然后参照下图填写信息,填写完毕后点击 Done 保存。

- Remote port number: 填写和之前查询到的端口
7897一样的端口号,以免混淆。 - Destination address: 填写
localhost,即127.0.0.1,表示通过本地机器转发。 - Destination port number: 填写之前查询到的端口
7897,因为这个端口开启了代理。 - Label: 填写方便自己记忆的一个标签。
启动端口转发
保存后,列表中会新增一个配置。双击该图标,当该图标变蓝时,端口转发已开启。

测试连接(未开启代理时)
登录服务器,尝试访问 Hugging Face,此时通常是无法连接的。
curl -vI https://huggingface.co
# 结果:Connection failed / Network is unreachable

开启代理并验证
在服务器终端输入以下命令,将 HTTP/HTTPS 流量指向刚才配置的转发端口(7897):
export http_proxy=http://127.0.0.1:7897
export https_proxy=http://127.0.0.1:7897
再次尝试访问,即可成功!
curl -vI https://huggingface.co
# 结果:HTTP/1.1 200 Connection established

使用终端进行代理
需要配备的软件
操作步骤
本地代理设置
同样需要在本地电脑打开 Clash Verge Rev,开启 系统代理 和 局域网连接,确认端口号(例如 7897)。

SSH 远程转发连接
打开本地终端,使用 ssh -R 命令连接服务器。这会将服务器的 7897 端口流量转发回本地的 7897 端口。
# 语法格式:ssh -R 远程端口:127.0.0.1:本地端口 用户名@服务器IP -p SSH端口
ssh -R 7897:127.0.0.1:7897 username@IP -p 22
开启代理
连接成功后,在服务器终端执行 export 命令:
export http_proxy=http://127.0.0.1:7897
export https_proxy=http://127.0.0.1:7897
测试访问即可成功。

注意事项
- 持久化设置:
export命令仅在当前终端窗口生效。
- 方案一:写入
~/.bashrc(对所有会话生效,不推荐,除非你一直开着隧道)。 - 方案二(推荐):使用
tmux或screen新建一个专用窗口,只在该窗口内执行 export。需要下载模型或 pip 安装时,就来这个窗口操作。
- 多用户冲突:如果多人同时在同一台服务器上使用此方法且都绑定到
7897端口,可能会冲突。如有冲突,可以更换服务器上的端口,保持本机端口不变。