如何在 VPS 上运行 Codex:分步设置指南(2026)

如何在 VPS 上运行 Codex:分步设置指南(2026) — 如何在 VPS 上运行 Codex:选择合适的服务器,在 Ubuntu 24.04 上安装 Codex CLI,无浏览器使用 ChatGPT 或 API key 登录,保持会话不中断,并通过 Tailscale 安全访问。
2026年10月20日4 分钟阅读
Share with

在笔记本上运行 Codex 没问题,直到任务时长超过你合上屏幕的时间。一次大型重构、一次夜间代码审查、或一套要跑一小时的测试,都需要一台始终在线、保持干净 checkout、并且不在乎你连的是哪个 Wi-Fi 的机器。

这台机器通常就是一台小型 VPS。本指南是我们在一台全新的 Ubuntu 24.04 服务器上会手动完成的设置:选好配置、做好加固、安装 Codex CLI、无浏览器登录、保持会话不中断,以及在不把 SSH 暴露到公网的前提下访问它。

在 VPS 上运行 Codex 的六个步骤:配置、用户、安装、登录、保持会话、私有访问

Codex 对 VPS 的要求

模型运行在 OpenAI 那边,所以 VPS 上的 Codex CLI 主要是一个终端客户端,再加上你的仓库要做的事:安装依赖、构建、测试。OpenAI 的安装文档列出的 Linux 要求是 Ubuntu 20.04+ 或 Debian 10+,内存最低 4 GB、推荐 8 GB,Git 2.23+ 为可选但推荐。

这与我们自己的 agent 所用配置一致:

最低推荐原因
CPU2 vCPU4 vCPU用于你的构建和测试,而不是模型
内存4 GB8 GBOpenAI 对 CLI 的官方推荐
磁盘50 GB150 GB仓库、node_modules、构建缓存、日志
系统Ubuntu 24.04Ubuntu 24.04当前 LTS,Codex 和 Tailscale 都支持

一台 VPS 只跑一个 Codex 工作负载,是无聊但安全的选择。任务出了问题,影响范围也只是一台可以随时清空重建的小机器。

大约 3 分钟运行你的第一个智能体

安装 Office Claws CLI,连接你的 Contabo 账户和 Codex 订阅,你的智能体就会拥有自己的 VPS 和办公室里的一张桌子。

curl -fsSL https://officeclaws.com/downloads/install.sh | sh

$4.99/月 + 你自己的 Contabo VPS · 密钥保存在你的钥匙串中

第 1 步:创建非 root 用户

全新的 VPS 镜像通常直接给你 root。不要用 root 运行一个会改文件、执行命令的 agent。创建一个专用用户,并把你的 SSH 公钥复制过去:

# as root, once
adduser codex
usermod -aG sudo codex
mkdir -p /home/codex/.ssh
cp ~/.ssh/authorized_keys /home/codex/.ssh/
chown -R codex:codex /home/codex/.ssh
chmod 700 /home/codex/.ssh
chmod 600 /home/codex/.ssh/authorized_keys

在关闭 root 会话之前,先在另一个终端里以 codex 用户登录确认。后面的所有操作都以这个用户执行。

第 2 步:安装 Codex CLI

OpenAI 为 macOS 和 Linux 提供独立安装脚本,所以服务器上不需要 Node.js。先装基础软件包,再装 Codex:

sudo apt update && sudo apt install -y git tmux curl
curl -fsSL https://chatgpt.com/codex/install.sh | sh
codex --version

如果你本来就在服务器上维护 Node,npm install -g @openai/codex 是另一种官方方式。两种方式都写在 openai/codex 的 README 和 Codex CLI 文档里。

第 3 步:登录——ChatGPT 套餐还是 API key

第一次运行 codex 时会提供 Sign in with ChatGPT。在笔记本上这会打开浏览器;VPS 上没有浏览器,所以 OpenAI 的认证文档给出了三种方式:

设备码(无界面服务器首选)。 该功能处于 beta 阶段,需要先在 ChatGPT 的安全设置中启用:

codex login --device-auth

SSH 端口转发。 登录回调监听在 localhost:1455。从笔记本转发这个端口,然后在本地浏览器中打开终端打印的地址:

# on your laptop
ssh -L 1455:localhost:1455 codex@your-vps
# then, inside that SSH session
codex login

API key。 通过管道传入,而不是粘贴到 shell 历史里:

printenv OPENAI_API_KEY | codex login --with-api-key

选哪种主要是计费问题。Codex 包含在 ChatGPT 的 Free、Go、Plus、Pro、Business、Edu 和 Enterprise 套餐中,使用额度取决于套餐;而 API key 则按 API 价格逐 token 计费。具体算账见Codex 订阅 vs API 成本。

无论选哪种,Codex 都会把凭据缓存在 ~/.codex/auth.json(或操作系统的凭据存储)中。OpenAI 建议像对待密码一样对待这个文件:不要提交到仓库,不要贴进工单,也不要在聊天里分享。

第 4 步:用 tmux 和 systemd 保持会话不中断

笔记本休眠时 SSH 会话就会断开,Codex 在里面做的事情也随之终止。交互式工作请在 tmux 中运行 Codex:

tmux new -s codex
cd ~/work/project
codex
# detach with Ctrl-b then d; later, from any machine:
tmux attach -t codex

对于周期性任务,干脆不用终端。codex exec 以非交互方式运行,把最终回答输出到 stdout,默认使用只读沙箱,需要用 --sandbox workspace-write 显式允许修改(见非交互模式文档)。用 systemd timer 就能把它变成夜间任务:

# /etc/systemd/system/codex-nightly.service
[Unit]
Description=Nightly Codex review
 
[Service]
Type=oneshot
User=codex
WorkingDirectory=/home/codex/work/project
ExecStart=/bin/bash -lc 'codex exec --sandbox workspace-write "review the last day of commits and write findings to REVIEW.md"'
 
# /etc/systemd/system/codex-nightly.timer
[Timer]
OnCalendar=*-*-* 03:00
Persistent=true
 
[Install]
WantedBy=timers.target
sudo systemctl daemon-reload
sudo systemctl enable --now codex-nightly.timer

这两种模式我们在长时间运行的 Codex 任务和Codex CLI 后台任务中有更详细的介绍。

第 5 步:安全地访问 VPS

22 端口对全网开放的 VPS,几分钟内就会遭到暴力破解尝试。而一台存放着 agent 和你的 Codex 凭据的 VPS,更是不能在这里出错。

Codex VPS:开放 SSH 端口 vs 仅通过 Tailscale 访问

我们做三件事:

  1. 只用密钥。 在 /etc/ssh/sshd_config 中设置 PasswordAuthentication no 和 PermitRootLogin no,然后执行 sudo systemctl restart ssh。

  2. 加入私有网络。 安装 Tailscale,把服务器接入你的 tailnet:

    curl -fsSL https://tailscale.com/install.sh | sh
    sudo tailscale up
  3. 关闭公网端口。 确认可以通过服务器的 Tailscale IP 用 SSH 登录后,只允许 Tailscale 网卡上的入站流量:

    sudo ufw allow in on tailscale0
    sudo ufw enable

第 3 步请在已经走 tailnet 的会话中执行,否则会把自己锁在外面。服务商的网页控制台是你的应急入口。之后日常的 SSH 工作流见Codex SSH 远程工作流。

第 6 步:保持 Codex 更新

Codex 更新很频繁。官方文档给出的独立安装更新方式是重新运行安装脚本;如果用 npm 安装,就重新安装这个包:

curl -fsSL https://chatgpt.com/codex/install.sh | sh
# or, if you used npm
npm install -g @openai/codex

系统也要更新:定期执行 sudo apt update && sudo apt upgrade,或启用 unattended-upgrades 自动安装安全补丁。

费用

项目你需要支付说明
VPS服务商的月费4 vCPU / 8 GB 的入门套餐足够跑一个 agent
通过 ChatGPT 套餐使用 Codex你现有的套餐使用额度取决于套餐
通过 API key 使用 Codex按 token 的 API 价格只有限制用量时才可预测
Tailscale个人使用免费Personal 套餐即可

对大多数人来说,用 ChatGPT 套餐在 VPS 上跑一个 agent 更便宜;API key 更适合 CI 或突发性的自动化。如果你想并行运行多个 agent,请看如何运行多个 Codex agent。

或者让 Office Claws 来完成这些步骤

上面的所有步骤,Office Claws 都能自动完成。你只需准备一台位于你自己 Contabo 账户中的全新 Ubuntu 24.04 VPS 和一个 Tailscale auth key,然后运行:

officeclaws onboard --name Mona
officeclaws connect-codex

onboard 会添加专用 SSH 密钥、创建独立用户、开启防火墙、防暴力破解保护和自动安全更新、禁用密码和 root 登录、把服务器接入你的 tailnet、关闭公网 SSH,并启动 agent,通常需要 5–10 分钟。connect-codex 通过 OpenAI 官方登录把 agent 连接到你的 ChatGPT 套餐——不需要 API key,也没有按 token 计费的账单。

坦白说明取舍:你得到的是一个可以通过 CLI 或 Telegram 对话、并支持定时任务的 agent,而不是一个由你自己写脚本驱动的原生 Codex 终端。Office Claws 价格为 $4.99/月;VPS 由 Contabo 直接向你收费。完整步骤见快速开始。

建议

从一台 VPS、一个用户、一个运行在 tmux 中的 Codex 会话开始。先让设备码登录跑通,关闭公网 SSH 端口,然后再添加 timer 或第二个 agent。如果不想自己折腾这些设置,就交给 Office Claws,把时间花在真正的任务上。

延伸阅读:

作者

Office Claws Team

在 Office Claws 构建 AI 智能体管理的未来。分享关于基础设施、安全和开发者体验的见解。

大约 3 分钟运行你的第一个智能体

安装 Office Claws CLI,连接你的 Contabo 账户和 Codex 订阅,你的智能体就会拥有自己的 VPS 和办公室里的一张桌子。

curl -fsSL https://officeclaws.com/downloads/install.sh | sh

$4.99/月 + 你自己的 Contabo VPS · 密钥保存在你的钥匙串中