云服务器共享本地代理指南
本文介绍如何通过 SSH 反向端口转发, 以应对服务器上可能存在的网络限制.
应用: 在服务器端使用 OpenCode / Claude Code 等.
``
设备配置详情
- 设备:腾讯云轻量应用服务器(特惠型实例)
- 系统:Debian 12.13
- CPU:4 核
- 内存:4 GB
- 存储:40 GB SSD
相较2核&2GB, 4核4GB内存可以显著缓解服务器暴毙现象, 也是最终选择腾讯云的原因.
不过有一说一, 续费辣是真的贵
背景
- 不愿在服务器使用代理如 mihomo 等
- 节点不够稳定, 需要定期更换.
- 错误配置会造成 SSH 高延迟.
- 满足编程时使用 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 协议.
下一步
安装 Claude Code
1 | npm install -g @anthropic-ai/claude-code |
可能会遇到
EACCES: permission denied错误需要
sudo权限, 使用sudo npm install -g @anthropic-ai/claude-code更优雅地, 修改 npm 默认全局路径至用户目录.
1 | mkdir ~/.npm-global |
以上.