文章目录
  1. 1. 背景
  2. 2. 第一步:配置 SSH RemoteForward
  3. 3. 第二步:重连 + 配置 Shell 环境变量
  4. 4. 第三步:给 VSCode Remote + Claude Code 配代理
  5. 5. 常见坑位

通过 SSH RemoteForward 把本机代理端口”反向”暴露给远程服务器,让在服务器上跑的 VSCode Remote、Claude Code、npmpip 等命令都能借道本地代理出网。三步搞定。

背景

本机有一个 HTTP 代理跑在 127.0.0.1:7897,但 SSH 上去的服务器没法直接访问。最佳做法不是去服务器上装一份代理,而是利用 SSH 的 RemoteForward,把本机的 7897 反向映射到服务器的 17897 —— 这样服务器上的程序只要把 HTTP(S)_PROXY 指向 127.0.0.1:17897,流量就会被 SSH 通道带回本机走出去。

端口任选,这里用 17897 只是为了和本地 7897 视觉上对得上号,不冲突就行。

第一步:配置 SSH RemoteForward

编辑本机的 C:\Users\85365\.ssh\config,在对应服务器条目下添加一行:

1
2
3
4
Host my-server
HostName xxx.xxx.xxx.xxx
User your-name
RemoteForward 17897 127.0.0.1:7897

含义:SSH 连上后,在服务器端开 17897 端口,所有打到这个端口的流量都会被 SSH 通道转回本机7897

第二步:重连 + 配置 Shell 环境变量

先把已有的 SSH 连接断开(VSCode 里 “Kill VS Code Server on Host” 最稳),然后重新连上,让 RemoteForward 真正生效。

进终端后执行:

1
2
3
export HTTP_PROXY=http://127.0.0.1:17897
export HTTPS_PROXY=http://127.0.0.1:17897
export NO_PROXY=localhost,127.0.0.1

这一步保证命令行里 curlgitnpmpip 等都走代理。想长期生效就把这三行加到 ~/.bashrc~/.zshrc 末尾。

验证一下:

1
curl -I https://www.google.com    # 能 200 就说明通了

第三步:给 VSCode Remote + Claude Code 配代理

仅 shell 配了还不够 —— VSCode 进程和 Claude Code 扩展是 VSCode Server 拉起来的,不会继承你后开的终端环境变量。

Ctrl + Shift + P 搜索 Preferences: Open Remote Settings (JSON),写入:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
"http.proxy": "http://127.0.0.1:17897",
"http.proxySupport": "on",
"claudeCode.environmentVariables": [
{
"name": "HTTP_PROXY",
"value": "http://127.0.0.1:17897"
},
{
"name": "HTTPS_PROXY",
"value": "http://127.0.0.1:17897"
},
{
"name": "NO_PROXY",
"value": "localhost,127.0.0.1"
}
]
}
  • http.proxy —— VSCode 自己拉扩展、检查更新走的代理。
  • claudeCode.environmentVariables —— Claude Code 扩展启动子进程时注入的环境变量,确保它调 Anthropic API 时能出网。

改完最好 Reload Window 一下让设置生效。

常见坑位

现象 原因 / 排查
curl 一直 hang RemoteForward 没起来;多半是 SSH 没重连,或本机代理没监听 127.0.0.1(有些代理默认只听 0.0.0.0 反而 OK,但若绑了别的回环就要看清楚)
Claude Code 报网络错误 八成是 VSCode Remote Settings 没配;只在终端 export 是不够的
端口被占 换一个,比如 17898,三处同步改掉即可
断网/掉线后再连不上 RemoteForward 端口残留,服务器侧 ss -lnt | grep 17897 看一眼,必要时换端口或重启 sshd

写在最后:搞通一次以后服务器上跑啥都顺,再也不用为 npm install 卡在 registry、Claude Code 连不上 API 这种破事浪费时间了。

文章目录
  1. 1. 背景
  2. 2. 第一步:配置 SSH RemoteForward
  3. 3. 第二步:重连 + 配置 Shell 环境变量
  4. 4. 第三步:给 VSCode Remote + Claude Code 配代理
  5. 5. 常见坑位