主要解决问题:codex在ssh连接到服务器时候报错

1
2
Sign-in could not be completed
Token exchange failed: token endpoint returned status 403 Forbidden: Country, region, or territory not supported

参考连接:(44 封私信 / 80 条消息) VS Code Remote SSH 登录 Codex 报错 Token exchange failed: token endpoint returned status 403解决方案 - 知乎

修复步骤

步骤 1:本地 VS Code 登录 Codex

⚠️ 注意:该步骤需要 本地网络环境正常

本地 VS Code(不要连接服务器)

  1. 安装 Codex 插件
  2. 在本地完成登录

登录成功后,本地会生成认证文件:

1
C:\Users\<你的用户名>\.codex

步骤 2:将认证文件复制到服务器

.codex 文件夹复制到服务器:

1
scp -r C:\Users\<你的用户名>\.codex user@server:~/

info

此时应该已经可以识别到了,可以登录使用

步骤 3:配置 SSH 端口转发

如果服务器网络环境无法直接访问相关服务,可以通过 SSH 端口转发进行网络转发。

在 VS Code 中打开 SSH 配置文件

image-20260502223923130

1
2
3
4
5
Host rocky_eda
HostName xx.xx.xx.xx
User admin
Port xxxx
RemoteForward 7897 127.0.0.1:7897

步骤 4:配置服务器网络环境变量

在服务器 ~/.bashrc 中添加

1
2
3
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

保存后执行:

1
source ~/.bashrc

步骤 5:重启 VS Code Remote Server

在 VS Code 中执行:

1
2
Ctrl + Shift + P
Remote-SSH: Kill VS Code Server on Host

然后重新连接服务器

测试网络转发是否成功

在服务器执行:

1
curl -v --proxy http://127.0.0.1:7897 https://chat.openai.com

如果返回正常 HTTP 信息,则说明已经转发成功了

1
Connection #0 to host 127.0.0.1 left intact

原理说明

当使用 Windows 电脑通过 SSH 连接服务器时

1
2
3
4
5
6
7
8
9
服务器端口 7897

SSH RemoteForward

Windows 本地 127.0.0.1:7897

本地网络服务

远程服务接口

这样即使服务器网络环境受限,也可以通过 端口转发访问相关服务