安装与登录
CLI 远程与设备码登录(可选)
在服务器、SSH 会话、Docker 容器等没有浏览器的环境里登录 Codex:设备码登录、复制登录缓存、SSH 端口转发三种方法。
在远程服务器或无图形界面的机器上,浏览器登录流程走不通:要么没有浏览器,要么 localhost 回调传不回来。官方给了三种办法,优先用设备码登录。
方法一:设备码登录(推荐)
设备码登录目前是 Beta 功能。个人账号需要先在 ChatGPT 的安全设置里开启设备码登录;工作区账号需要管理员在工作区权限里开启。
在任意设备的浏览器里完成
终端会显示一个链接和一次性验证码。用你自己电脑或手机的浏览器打开链接,登录 ChatGPT 账号,输入验证码。
回到终端确认
codex login status方法二:复制登录缓存
先在有浏览器的电脑上正常登录,再把 ~/.codex/auth.json 拷到远程机器上。
本机登录
codex login
ls ~/.codex/auth.json如果本机把凭据存在了系统钥匙串里(cli_auth_credentials_store = "keyring" 或 auto),就不会生成 auth.json。要用这个方法,需要先把存储方式改成 file。
拷到远程机器
通过 SSH:
ssh user@remote 'mkdir -p ~/.codex'
scp ~/.codex/auth.json user@remote:~/.codex/auth.json或者不用 scp,一条命令完成:
ssh user@remote 'mkdir -p ~/.codex && cat > ~/.codex/auth.json' < ~/.codex/auth.json拷进 Docker 容器:
# 把 MY_CONTAINER 换成容器名或 ID
CONTAINER_HOME=$(docker exec MY_CONTAINER printenv HOME)
docker exec MY_CONTAINER mkdir -p "$CONTAINER_HOME/.codex"
docker cp ~/.codex/auth.json MY_CONTAINER:"$CONTAINER_HOME/.codex/auth.json"务必保护好 auth.json
这个文件里是访问令牌,拿到它就等于登录了你的账号。只拷到你自己控制的机器上,不要放进公开仓库、共享镜像或公共 CI。
方法三:SSH 端口转发
如果能在本机和远程之间转发端口,就可以照常走浏览器登录:把 Codex 的本地回调端口(默认 1455)转发到本机。
# 在你自己的电脑上执行
ssh -L 1455:localhost:1455 user@remote然后在这个 SSH 会话里运行 codex login,把它打印出来的地址复制到本机浏览器打开即可。
登录失败时看日志
直接运行 codex login 时,Codex 会在日志目录里单独写一份 codex-login.log。设备码登录或浏览器登录失败时,可以先看这份日志;联系售后时也可能需要它(发送前请检查里面有没有敏感信息)。