在公司网络 + VSCode Remote SSH 环境下使用 Codex 经验总结

声明 :本文仅记录在企业网络环境下 Codex 认证及 VSCode Remote SSH 配置的技术经验,不涉及任何翻墙方法、代理工具或违反相关法律法规的内容。更多细节和完整文章请参考:Codex认证与配置完整踩坑与解决方案

一、问题现象

在公司内网环境下的服务器上,即使服务器已能访问公网,Codex 仍然无法完成登录认证(浏览器超时、Device Code 报错等),但在个人电脑上却可以正常使用。

二、核心解决思路

不在问题环境中强行登录,而是将认证后的凭证迁移到服务器。

具体步骤:

  1. 在个人电脑上登录 Codex,生成 .codex 认证目录。
  2. .codex 目录打包(排除临时文件夹)并上传到服务器。
  3. 在服务器解压、设置正确权限。
  4. 服务器上的 Codex 即可直接使用,无需再次登录。

三、详细操作

1. 在个人电脑上完成认证

在可正常使用 Codex 的个人电脑上,打开终端执行 codex,按提示登录。登录成功后,用户目录下会生成 .codex 文件夹(Windows 路径为 C:\Users\用户名\.codex)。

2. 打包并传输

打包时排除临时目录,避免上传多余文件:

bash 复制代码
cd ~
tar --exclude=.codex/tmp -czf codex.tar.gz .codex

将打包文件传输到服务器:

bash 复制代码
scp codex.tar.gz 用户名@服务器IP:~/

3. 服务器端解压与权限设置

登录服务器,解压并覆盖原有目录:

bash 复制代码
ssh 用户名@服务器IP
cd ~
rm -rf .codex
tar -xzf codex.tar.gz

设置目录及文件权限:

bash 复制代码
chmod 700 .codex
chmod 600 .codex/auth.json .codex/config.toml

完成后直接运行 codex,即可正常使用。

四、VSCode 远程插件断流问题处理

在 VSCode Remote SSH 环境中,可能会遇到插件报错"stream disconnected before completion",但终端运行 codex 正常。原因是远程插件运行时的网络环境与终端不同,需要单独配置。

解决思路:分别配置本地 VSCode 和远程 VSCode 的网络环境,使插件请求能正常通过。

1. 本地 VSCode 配置

在本地 VSCode 的 settings.json 中配置网络访问参数:

json 复制代码
"http.proxy": "http://127.0.0.1:7890",
"http.proxySupport": "override"

注:端口号仅为示例,请根据实际科学上网的情况填写。

2. 远程 VSCode 配置(仅影响集成终端)

为避免影响服务器上其他用户,建议只在 VSCode 远程设置中为集成终端添加网络环境变量:

  • 打开命令面板(Ctrl+Shift+P),输入 Open Remote Settings (JSON)
  • 添加以下内容:
json 复制代码
"terminal.integrated.env.linux": {
   "HTTP_PROXY": "http://127.0.0.1:7890",
   "HTTPS_PROXY": "http://127.0.0.1:7890"
}

配置完成后,重新加载 VSCode 窗口(Developer: Reload Window),插件与集成终端均可正常工作。

五、最佳实践总结

  • 凭证迁移:不在受限环境处理登录,直接迁移认证目录。
  • 环境隔离:服务器网络配置仅在 VSCode 内部生效,不影响其他用户或系统默认行为。
  • 分域配置:区分本地 VSCode 与远程 VSCode 的设置,确保插件与终端都能正常工作。

更多细节和完整文章请参考本人的cnblog:Codex认证与配置完整踩坑与解决方案

相关推荐
维吉斯蔡9 小时前
【Ubuntu】Fcitx 搜狗拼音无法在 VS Code 输入中文的修复方案
linux·vscode·ubuntu·bash
Garfield200511 小时前
VSCode Remote SSH 使用 Codex 无法账号登录
vscode·chatgpt·ssh·codex
nuomigege12 小时前
stm32项目 vscode中安装opencode插件,提示无法将“opencode”项识别为cmdlet、函数、脚本文件或可执行程序的名称 问题的处理
ide·vscode·编辑器
AI松子6661 天前
vscode远程docker容器时报错
ide·vscode·docker
hjuan___1 天前
给 Claude Code 装上“技能库”和“眼睛”:配置 Skills 与图片识别实战
vscode·minimax·mcp·ai 编程·claude code·cc switch
❀͜͡傀儡师1 天前
GitHub Copilot for VS Code 中文使用完整教程
vscode·github·copilot
白头小黄1 天前
ESP32+VScode+PIO实现基础的自带USB接口的JTAG调试
ide·vscode·编辑器
被放养的研究生1 天前
vscode-settings.json(直接复制使用,带有注释)
ide·vscode·json
ILYT NCTR1 天前
vscode配置django环境并创建django项目(全图文操作)
vscode·django·sqlite
2501_915918412 天前
快蝎iOS开发IDE:免Xcode开发,支持Swift/Flutter项目
ide·vscode·ios·个人开发·xcode·swift·敏捷流程