当前位置: 首页 > news >正文

VS Code Remote SSH 登录 Codex 报错 Token exchange failed: token endpoint returned status 403解决方案

一、问题现象

在服务器端 VS Code 中登录 Codex 时出现:

Token exchange failed: token endpoint returned status 403 Forbidden

或者登录成功后一直卡在 "Thinking..."

主要原因:

  • 服务器无法访问插件认证服务

  • 远程环境网络配置不完整

  • VS Code Server 未正确继承网络环境变量


二、解决方案

整体思路:

  1. 先在本地 VS Code 完成登录认证

  2. 将认证文件复制到服务器

  3. 使用SSH RemoteForward进行端口转发

  4. 在服务器配置网络环境变量

  5. 重启 VS Code Remote Server


三、步骤 1:本地 VS Code 登录 Codex

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

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

  1. 安装 Codex 插件

  2. 登录 Codex 账号

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

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

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

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

~/.codex

例如:

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

复制完成后,重新连接 SSH

此时通常已经可以识别账号。


五、步骤 3:配置 SSH 端口转发

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

打开 VS Code SSH 配置

在服务器配置末尾添加:

RemoteForward 7897 127.0.0.1:7897

⚠️ 注意:需要确保本地网络服务端口与 RemoteForward 设置一致

不同工具端口可能不同,例常见本地网络服务端口:7890 / 7897。

然后重新连接 SSH。如果此时已经OK,则不需要下面步骤。


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

在服务器 ~/.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

七、步骤 5:重启 VS Code Remote Server

在 VS Code 中执行:

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

然后重新连接服务器。


八、测试网络转发是否成功

在服务器执行:

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

如果返回正常 HTTP 信息,说明已经OK。

此时Codex 即可正常使用,不再卡 Thinking


九、原理说明

当你从Windows 电脑 SSH 连接服务器时:

服务器端口 7897 ↓ SSH RemoteForward ↓ Windows 本地 127.0.0.1:7897 ↓ 本地网络服务 ↓ 远程服务接口

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

http://www.jsqmd.com/news/522725/

相关文章:

  • LoRA训练助手行业方案:为AI艺术教育平台定制化训练标签教学系统
  • 第 478 场周赛Q3——3761. 镜像对之间最小绝对距离
  • 算法:动态规划基础(中):树型dfs+回溯+记忆化搜索
  • 雯雯的后宫-造相Z-Image-瑜伽女孩保姆级教程:从镜像拉取到生成首张瑜伽图
  • 论文阅读 EMNLP 2025 Reasoning-to-Defend: Safety-Aware Reasoning Can Defend Large Language Models from Ja
  • VideoAgentTrek-ScreenFilter效果展示:同一视频不同conf阈值下的漏检/误检对比
  • 卡证检测模型在低代码平台中的应用:赋能业务人员快速搭建应用
  • MATLAB实战:蓝牙GFSK调制解调全流程解析(附误码率优化技巧)
  • WuliArt Qwen-Image Turbo 5分钟极速部署:24G显存跑通高清文生图
  • 墨语灵犀保姆级教程:Mac M1/M2芯片原生支持部署与性能实测
  • 新手必看!Docker pull报错全攻略:从超时到认证失败的7种解决方案
  • Phi-3-mini-128k-instruct一文详解:Phi-3系列中唯一支持128K上下文的指令模型
  • AST | 西工大崔榕峰、张伟伟等:基于物理约束与双并行注意力UNet++的高保真度三维机翼流场重构研究
  • Unity弹窗背景虚化效果实战:5分钟搞定高斯模糊Shader(附完整代码)
  • 储能系统——05 常用一二次电缆
  • Self-Play RL实战:如何用Python和OpenAI Gym搭建自己的AI对弈环境
  • 3个核心功能让零基础用户实现高效地理数据编辑
  • mPLUG视觉问答作品展示:餐厅菜单价格识别案例
  • 幻镜视觉重构实验室部署:Kubernetes集群中幻镜服务弹性扩缩容实践
  • K210串口通信实战:从引脚映射到数据回传(附完整代码)
  • Qwen2.5-Coder-1.5B代码实例:生成符合PEP8/Pylint标准的Python代码
  • 学Simulink——基于 Simulink 的 高升压比 Boost 变换器软开关控制
  • 黄金期启航:3-6岁幼儿英语启蒙机构科学选择全指南 - 品牌2025
  • Apache Spark 第 6 章 附加篇:Tungsten 引擎深度解析
  • Codeforces Round 1086 (Div. 2)复盘
  • 2025-2026年Jira替代软件推荐:敏捷开发团队高性价比替代方案深度评测 - 品牌推荐
  • C++ Stack_queue的入门使用与模板进阶
  • 别再只盯着飞控了!用大疆PSDK开发无人机负载,解锁Matrice 30行业应用新玩法
  • 深聊黑龙江专业的铝塑门窗厂家,哪家值得选 - mypinpai
  • MedGemma应用实战:构建医学影像教学演示系统