云服务器共享本地代理指南
本文介绍如何通过SSH反向端口转发,以应对服务器上可能存在的网络限制。
应用:在服务器端使用 OpenCode / Claude Code 等。
参考配置[1]
- 设备:腾讯云轻量应用服务器(特惠型实例)
- 系统:Debian 12.13
- CPU:4 核
- 内存:4 GB[2]
- 存储:40 GB SSD
背景
- 不愿在服务器使用代理如 mihomo 等[3]
- 满足编程时使用 Claude Code 等模型的需求
- 便于运行脚本时使用 API 服务,如 OpenRouter 等
核心原理
- 利用SSH反向端口转发,将服务器上的端口映射到本地
- 让服务器监听内部端口,如
10000; - 发往本地端口
10000的请求通过SSH隧道传回本地电脑的代理端口; - 本地代理软件代为访问外网。
- 让服务器监听内部端口,如
- 部分常见代理软件端口
- Clash:
7890 - V2rayN:
10800
- Clash:
- 多台本地电脑连接同一服务器
- 服务器端:固定监听
10000端口; - 本地端:在 SSH 配置中,映射到实际代理端口;
- 通过这种方式,服务器配置静态,无需修改。
- 服务器端:固定监听
步骤
配置服务器的Remote Settings
让VS Code的远程终端自动走
127.0.0.1:10000代理
- 在VS Code中连接远程服务器
> Preferences: Open Remote Settings (JSON)- 添加以下配置
1 | { |
> Developer: Reload Window
配置本地电脑的 .ssh/config
- 打开本地电脑的
.ssh/config文件- Windows:
%USERPROFILE%\.ssh\config - Linux/Mac:
~/.ssh/config
- Windows:
- 添加以下配置
1 | RemoteForward 10000 127.0.0.1:10808 |
这里以本地为 V2rayN 客户端,代理端口为
10808为例;需保证缩进对齐,完整的配置示例如下:
1 | Host xxxx |
- 特别地,如使用 Linux/Mac 系统,并使用私钥,需要修复权限。
1 | chmod 600 ~/.ssh/id_ed25519 |
测试
- 确保本地代理设置正确,并启动
- 连接服务器(使用VS Code)
- 因为配置了Remote Settings,所以在VS Code中连接服务器时,会自动走代理。
- 直接在终端使用
ssh xxxx连接服务器时,不会走代理。
- 使用
curl测试
1 | curl -I https://www.google.com |
不能使用
ping测试,因为ping是 ICMP 协议,而不是 HTTP 协议。
Next Step
安装Claude Code[4]
1 | curl -fsSL https://claude.ai/install.sh | bash |
如果你在 macOS 上且使用 Homebrew,也可以直接安装:
1 | brew install --cask claude-code |