无浏览器与 SSH 登录
使用 device code,或通过 SSH 转发浏览器回调,在可信远程环境完成认证。
This page has not been translated into English yet. The original Chinese version is shown below.
远程主机没有浏览器,或本地 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 不可用时,确认管理员权限开关,而不是假定所有账号都支持。