AutoDL 远程服务器使用 Codex 完整教程
前言
做深度学习、大模型实验基本都依赖 AutoDL 等云 GPU 服务器,但直接在远端 VSCode 使用 Codex 插件时,极易出现 接口超时、鉴权失败、代码补全无响应 问题。
核心根源:Codex 网络请求由远端服务器发起,服务器无公网代理,无法直连服务。本文提供一套完整可落地的代理转发配置流程,一次配置永久生效,适配 AutoDL 所有实例。
前置准备
- 本地电脑:已开启 HTTP 代理(端口 7897)
- VSCode 安装插件:
Remote - SSH、Codex 插件 - AutoDL 服务器 SSH 登录信息:公网 IP、SSH 端口、用户名
一、本地 SSH 配置:建立代理端口隧道转发
1. 打开本地 SSH 配置文件
Windows 路径:C:\Users\你的用户名\.ssh\config
Mac/Linux 路径:~/.ssh/config
2. 写入服务器完整配置(替换你的服务器信息)
Host host
HostName ip # AutoDL服务器公网IP
User user # 你的服务器用户名
Port port # AutoDL分配的SSH端口
# 核心:远端7897端口转发到本地代理7897
RemoteForward 127.0.0.1:7897 127.0.0.1:7897
ExitOnForwardFailure yes
ServerAliveInterval 30
ServerAliveCountMax 3
TCPKeepAlive yes
参数说明
RemoteForward:SSH 隧道核心,把远程服务器127.0.0.1:7897流量转发到本机代理端口,实现远端走本地网络- 保活参数:防止长时间闲置 SSH 连接断开
二、远程 VSCode 全局代理配置
连接服务器后,打开远程 VSCode 的 settings.json(远程窗口设置),粘贴以下配置,让插件、终端全部走转发代理:
{
"http.proxy": "http://127.0.0.1:7897",
"http.proxySupport": "on",
"http.proxyStrictSSL": false,
"terminal.integrated.env.linux": {
"http_proxy": "http://127.0.0.1:7897",
"https_proxy": "http://127.0.0.1:7897"
}
}
http.proxyStrictSSL: false:规避代理 SSL 证书校验报错terminal.integrated.env.linux:同步给内置终端注入代理变量
三、服务器永久全局代理环境变量(必配)
VSCode 插件、Codex 程序、curl/wget 等命令行工具都会读取系统 proxy 环境变量,写入 ~/.bashrc 实现永久生效,每台新服务器仅需执行一次。
1. 备份配置文件(防止改错)
# 查看文件是否存在
ls -la ~/.bashrc
# 备份,带时间戳
cp ~/.bashrc ~/.bashrc.backup_$(date +%Y%m%d_%H%M%S)
# 检查是否已配置 Codex 代理
grep -n "Codex proxy" ~/.bashrc
无输出代表未配置,执行下面写入脚本:
cat <<'EOF' >> ~/.bashrc
# ==== = Codex proxy begin ==== =
export http_proxy="http://127.0.0.1:7897"
export https_proxy="http://127.0.0.1:7897"
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"
export all_proxy="$ALL_PROXY"
# 本地/内网地址不走代理,避免死循环
export NO_PROXY="localhost,127.0.0.1,::1"
export no_proxy="$NO_PROXY"
# ==== = Codex proxy end ==== =
EOF
2. 立即生效并校验
# 重载环境变量
source ~/.bashrc
# 查看所有代理变量是否写入成功
env | grep -i proxy
四、重启 VSCode 远程服务,加载全部配置
配置完成后必须重启远程服务,否则代理不生效:
- 快捷键
Ctrl + Shift + P - 输入命令:
Remote-SSH: Kill VS Code Server on Host... - 选择当前 AutoDL 服务器,断开连接
- 重新 SSH 连接服务器
五、上传 Codex 认证配置文件
在本地准备 .codex 文件夹,上传至服务器用户根目录,文件夹包含核心配置:
config.toml 内容
[proxy]
http_proxy="http://127.0.0.1:7897"
https_proxy="http://127.0.0.1:7897"
该文件为 Codex 程序独立代理配置,和系统环境变量双重兜底,彻底解决网络连通问题。
六、连通性测试(排查报错专用)
重连服务器后,终端执行测试命令,验证代理是否通网:
# 测试外网连通
curl -I https://api.openai.com
# 查看当前出口 IP
curl https://icanhazip.com
返回正常 HTTP 状态码,代表代理转发成功,Codex 可正常使用。
常见问题排查
- Codex 一直转圈无补全
- 检查 SSH config 的
RemoteForward端口是否和本地代理端口一致 - 重新 Kill VSCode 远程服务重连
- 检查 SSH config 的
- 终端 curl 可以联网,Codex 插件不行
- 确认远程
settings.json代理配置正确,关闭 SSL 严格校验
- 确认远程
- 新开终端代理失效
- 重新执行
source ~/.bashrc,确认写入~/.bashrc无语法错误
- 重新执行
- 服务器重启后代理失效
- 配置已写入 bashrc,重启终端自动加载,无需重复执行脚本
总结
整套流程分为四层代理兜底:
- SSH 隧道端口转发(本地 → 远端流量通道)
- VSCode 远程设置(插件层代理)
- Linux 系统 bashrc 全局环境变量(终端 / 程序通用)
- Codex 独立 config.toml(程序专属代理)
一次配置后,后续开机、重连服务器无需重复操作,完美解决 AutoDL 远程环境下 Codex 网络访问限制,大幅提升远程代码开发效率。

浙公网安备 33010602011771号