【Codex】Ubuntu 安装 Codex CLI 并解决 Clash 代理与账号认证问题

目录

1.概要

[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

整个过程中主要遇到了三个问题:

  1. Codex CLI 如何安装;
  2. 解决 Clash 代理问题;
  3. codex login --device-auth 登录时报 403 Forbidden 如何处理。
  4. 解决 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 中手动设置代理:

  1. 打开 Firefox;

  2. 进入 Settings / 设置;

  3. 搜索 proxy;

  4. 打开 Network Settings / 网络设置;

  5. 选择 Manual proxy configuration / 手动代理配置;

  6. 设置代理:

    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 分钟内有效。验证码不要分享给别人。

接下来:

  1. 在浏览器中打开:

    https://auth.openai.com/codex/device

  2. 登录自己的 ChatGPT / OpenAI 账号;

  3. 输入终端中显示的一次性验证码;

  4. 授权成功后回到 Linux 终端;

  5. 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 已经可以正常使用。

相关推荐
brucelee1862 小时前
Claude Code 安装教程(Windows / Linux / macOS)
linux·windows·macos
jsons13 小时前
给每台虚拟机设置独立控制台密码
linux·运维·服务器
云天AI实战派3 小时前
AI 智能体问题排查指南:ChatGPT、API 调用到 Agent 上线失灵的全流程修复手册
大数据·人工智能·python·chatgpt·aigc
嵌入式×边缘AI:打怪升级日志3 小时前
全志T113 Tina-SDK 配套工具链开发应用(从Makefile到CMake再到Autotools)
linux
嵌入式×边缘AI:打怪升级日志3 小时前
全志T113嵌入式Linux开发环境搭建(VMware + Ubuntu 18.04)详细步骤
linux·ubuntu
云栖梦泽4 小时前
Linux内核与驱动:14.SPI子系统
linux·运维·服务器·c++
Frank_refuel4 小时前
终端环境下:Ubuntu 22.04.1 安装 MySQL 数据库
数据库·mysql·ubuntu
yipiantian4 小时前
在Claude项目中实现跨目录访问Skills
linux·运维·服务器
Agent产品评测局5 小时前
生产排期与MES/ERP系统打通,实操方法详解 —— 2026企业级智能体自动化选型与实战指南
java·运维·人工智能·ai·chatgpt·自动化