

目录
[2. 安装基础依赖](#2. 安装基础依赖)
[3. 安装 Node.js](#3. 安装 Node.js)
[4. 安装 Codex CLI](#4. 安装 Codex CLI)
[5. Codex CLI 的登录方式说明](#5. Codex CLI 的登录方式说明)
[6. 检查 Clash 代理端口](#6. 检查 Clash 代理端口)
[7. Firefox 无法访问 Google 的原因](#7. Firefox 无法访问 Google 的原因)
[8. 给当前终端配置代理](#8. 给当前终端配置代理)
[9. 重新执行 Codex 登录](#9. 重新执行 Codex 登录)
[10. 成功进入 Codex CLI](#10. 成功进入 Codex CLI)
1.概要
最近在 Linux 虚拟机环境中安装并使用 OpenAI Codex CLI。我的环境是:
- 系统版本:Ubuntu 24
- 运行环境:Linux 虚拟机
- 代理工具:Clash Verge
- 登录方式:ChatGPT 账号登录
- Codex CLI 版本:v0.125.0
整个过程中主要遇到了三个问题:
- Codex CLI 如何安装;
- 解决 Clash 代理问题;
codex login --device-auth登录时报403 Forbidden如何处理。- 解决 Codex CLI 登录认证问题。
2. 安装基础依赖
先更新系统软件源:
sudo apt update
sudo apt upgrade -y
安装常用基础工具:
sudo apt install -y curl git build-essential ca-certificates
3. 安装 Node.js
Codex CLI 通过 npm 安装,因此需要先安装 Node.js。
这里使用 Node.js 20:
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
检查版本:
node -v
npm -v
只要能正常输出版本号,就说明 Node.js 和 npm 已经安装成功。
4. 安装 Codex CLI
使用 npm 全局安装 Codex CLI:
npm i -g @openai/codex
安装完成后检查版本:
codex --version
也可以查看帮助信息:
codex --help
如果能正常输出版本或帮助信息,说明 Codex CLI 已经安装成功。
5. Codex CLI 的登录方式说明
可以直接执行:
codex login
如果当前 Linux 环境没有图形浏览器,或者是在远程服务器、虚拟机中使用,可以执行(我使用的这种方式):
codex login --device-auth
该命令会生成一个认证链接和一次性验证码,需要在浏览器中打开链接并输入验证码完成授权。
6. 检查 Clash 代理端口
我的 Ubuntu 虚拟机中安装了 Clash Verge,但一开始并不确定终端是否走了代理。
先尝试常见端口 7890:
curl -I -x http://127.0.0.1:7890 https://www.google.com
结果报错,这说明本机 7890 端口没有代理服务在监听。:
curl: (7) Failed to connect to 127.0.0.1 port 7890 after 0 ms: Couldn't connect to server
后来发现当前 Clash Verge 代理口为 7890。

curl -I -x http://127.0.0.1:7897 https://www.google.com
返回结果类似:
HTTP/1.1 200 Connection established
HTTP/2 200
content-type: text/html; charset=ISO-8859-1
这说明 Clash 的 HTTP 代理端口是 7897,并且通过该代理可以正常访问 Google。
7. Firefox 无法访问 Google 的原因
虽然命令行通过代理可以访问 Google,但虚拟机中的 Firefox 浏览器仍然无法访问。
原因是:Firefox 没有配置使用 Clash 的代理端口。
可以在 Firefox 中手动设置代理:
-
打开 Firefox;
-
进入 Settings / 设置;
-
搜索 proxy;
-
打开 Network Settings / 网络设置;
-
选择 Manual proxy configuration / 手动代理配置;
-
设置代理:
HTTP Proxy: 127.0.0.1
Port: 7897
同时勾选:
Also use this proxy for HTTPS
或者 HTTPS Proxy 也填写:
HTTPS Proxy: 127.0.0.1
Port: 7897
保存后再次访问:
https://www.google.com
如果 Clash 节点正常,Firefox 就可以访问 Google。
8. 给当前终端配置代理
Codex CLI 是在终端中运行的,因此需要让当前终端也走 Clash 代理。
由于我的代理端口是 7897,所以执行:
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
有些程序还会读取 ALL_PROXY:
export ALL_PROXY=http://127.0.0.1:7897
export all_proxy=http://127.0.0.1:7897
然后测试 OpenAI 认证域名:
curl -I https://auth.openai.com
如果能返回正常 HTTP 响应,说明当前终端访问 OpenAI 认证服务基本没有问题。
9. 重新执行 Codex 登录
配置代理后,还需要在chatgpt web端开启安全权限:

Linux终端执行:
codex login --device-auth
这次成功进入 device code 登录流程:
Welcome to Codex [v0.125.0]
OpenAI's command-line coding agent
Follow these steps to sign in with ChatGPT using device code authorization:
1. Open this link in your browser and sign in to your account
https://auth.openai.com/codex/device
2. Enter this one-time code (expires in 15 minutes)
XXXX-XXXX
Device codes are a common phishing target. Never share this code.
注意:这里的验证码是一次性的,通常 15 分钟内有效。验证码不要分享给别人。
接下来:
-
在浏览器中打开:
-
登录自己的 ChatGPT / OpenAI 账号;
-
输入终端中显示的一次性验证码;
-
授权成功后回到 Linux 终端;
-
Codex CLI 会自动完成登录。
如果验证码过期,重新执行即可:
codex login --device-auth
10. 成功进入 Codex CLI
在web端认证成功后,在终端执行:
codex
进入交互界面:
╭───────────────────────────────────────╮
│ >_ OpenAI Codex (v0.125.0) │
│ │
│ model: gpt-5.4 /model to change │
│ directory: ~ │
╰───────────────────────────────────────╯
这说明 Codex CLI 已经可以正常使用。
