无浏览器与 SSH 登录
使用 device code,或通过 SSH 转发浏览器回调,在可信远程环境完成认证。
远程主机没有浏览器,或本地 OAuth callback 被网络设置阻止时,优先使用 device code authentication。它目前处于 beta,仍需账号或工作区允许。
Device code
- 个人账号在 ChatGPT 安全设置启用 device code login;工作区由管理员在权限中启用。
- 在远程终端运行下列命令,或从交互登录界面选择 Sign in with Device Code。
- 在可用浏览器中打开终端给出的链接,登录并输入一次性代码。
codex login --device-authSSH callback 转发
如果可建立本地到远程端口转发,可使用标准浏览器登录。默认 callback 为 localhost:1455:
ssh -L 1455:localhost:1455 user@remote随后在这个 SSH 会话中运行 codex login,在本地浏览器打开它输出的地址。示例用户名与主机需替换,端口冲突或转发限制应先在 SSH 层排查。
复制缓存的备用方式
官方也允许先在有浏览器的可信机器登录,再将 ~/.codex/auth.json 安全复制到可信远程机器的同一路径。这只适用于文件缓存;使用系统凭据存储时不一定存在该文件。
缓存本身具有凭据效力,应像密码一样处理。自动化通常优先使用 API Key;需要工作区身份时考虑Codex access tokens,不要把个人缓存放到公开或不受信任的 runner。
排障
先核对当前登录方式和工作区,再看 codex-login.log。企业 TLS 失败检查CA 与凭据设置。Device code 不可用时,确认管理员权限开关,而不是假定所有账号都支持。