AI摘要
VS Code Remote SSH登录Codex遇403或Thinking卡住,多因服务器网络受限。解决方案:首先在本地完成Codex登录,并将`.codex`认证信息复制到服务器。接着,配置SSH端口转发(RemoteForward),并在服务器设置HTTP/HTTPS/ALL_PROXY环境变量。最后,重启VS Code Remote Server。此方法通过服务器借用本地网络能力访问外部服务,实测可解决问题。
在使用 VS Code Remote SSH 连接远程服务器并登录 Codex 时,很多人会遇到下面这些问题:
Token exchange failed: token endpoint returned status 403 Forbidden- 登录成功但插件一直停留在 “Thinking…”
这类问题大多数情况下不是插件本身的问题,而是 远程服务器网络访问受限 导致的。
本文整理了一套可行的解决方案,适用于:
- 服务器无法直接访问外网服务
- 本地网络环境正常
- 可以通过 SSH 做端口转发
一、问题本质原因
出现该问题,通常是以下几个原因导致:
- 远程服务器无法访问认证接口
- 服务器网络代理未配置或不完整
- VS Code Server 未继承本地网络环境
简单来说:认证请求发出去了,但服务器拿不到正确响应
二、整体解决思路
解决核心思路如下:
- 在本地完成登录认证
- 将认证信息同步到服务器
- 利用 SSH 做端口转发
- 在服务器配置代理环境变量
- 重启 VS Code Server
三、本地完成 Codex 登录
⚠️ 注意:此步骤必须在本地网络正常情况下进行
操作步骤:
- 打开本地 VS Code(不要连接远程)
- 安装 Codex 插件
- 完成登录流程

登录成功后,会生成认证目录:
C:\Users\<你的用户名>\.codex

四、复制认证信息到服务器
将 .codex 文件夹复制到服务器:
scp -r C:\Users\<你的用户名>\.codex user@server:~/
复制完成后,确保服务器目录为:
~/.codex
然后重新连接 SSH。
此时远程环境通常已经可以识别登录状态
五、配置 SSH 端口转发(关键步骤)
如果服务器无法直接访问外网,需要通过本地网络转发。
打开 SSH 配置文件:
~/.ssh/config
在对应主机配置中添加:
RemoteForward 7897 127.0.0.1:7897
说明:
7897是本地代理端口(需与你本地一致)常见端口:
- Clash:7890 / 7897
- SOCKS:1080
配置完成后重新连接 SSH
六、配置服务器代理环境变量
编辑服务器 ~/.bashrc:
export HTTP_PROXY=http://127.0.0.1:7897
export HTTPS_PROXY=http://127.0.0.1:7897
export ALL_PROXY=http://127.0.0.1:7897
使配置生效:
source ~/.bashrc
七、重启 VS Code Remote Server
在 VS Code 中执行:
Ctrl + Shift + P
输入并选择:
Remote-SSH: Kill VS Code Server on Host
然后重新连接服务器
(插入图片:VS Code 命令面板截图)
八、验证代理是否生效
在服务器执行:
curl -v --proxy http://127.0.0.1:7897 https://chat.openai.com
如果返回正常 HTTP 信息,说明转发成功。
九、原理解析(简单理解)
整个流程本质是:
服务器请求
↓
SSH RemoteForward
↓
本地 127.0.0.1:7897
↓
本地代理工具
↓
访问外部服务接口
换句话说:
服务器借用了你本地的网络能力
十、总结
如果你遇到:
- 403 Token 错误
- Codex 一直 Thinking
可以按这套流程排查:
✔ 本地先登录
✔ 同步 .codex
✔ 配置 SSH 转发
✔ 设置代理环境变量
✔ 重启 VS Code Server
基本都能解决问题。