乐于分享
好东西不私藏

彻底告别 Codex app登录弹手机短信验证码(附保姆级实操教程)

彻底告别 Codex app登录弹手机短信验证码(附保姆级实操教程)

关注◆ AI一手 ◆探索AI时代的一手实战玩法

这篇文章只解决一个问题。

用 Codex App 或 Codex CLI 登录 ChatGPT 账号时,有时候会弹出手机短信验证码。对于国内用户来说,这一步经常卡住——要么收不到验证码,要么它要的是你早已不用的旧手机号。

解法很简单:把账号切到「高级账户安全」模式,用 Passkey + Authenticator 彻底取代短信通道。

我把完整操作流程跑了一遍,全程截图,照着做就行。


第 1 步  添加 Passkey(通行密钥)

打开 ChatGPT,点左下角头像进入设置,找到 「账户安全与登录」

往下看到 「安全密钥和通行密钥」,点右边的进入。

进来之后,点 「添加安全密钥或通行密钥」。下面的 YubiKey 是可选的硬件密钥,没有不影响,用电脑自带的 Passkey 就行。

系统会先让你验证身份。三个选项随便选一个能用的,推荐 Google Authenticator or similar

打开手机上的验证器 App,把 6 位一次性验证码填进去,点 Continue。

接着浏览器会弹出创建 Passkey 的对话框。我用的是 Chrome + Google 密码管理器,会显示你的 Gmail 账号和 "Passkey" 字样。点 Create

如果你是 Windows,这一步还会弹出 Windows 安全中心,让你按指纹或输 PIN 确认。按一下就行。

看到 「Passkey created」 就说明创建成功了。

Chrome 右上角也会弹一个小通知 「Passkey saved」,确认已保存到 Google 密码管理器。

回到设置页,「安全密钥和通行密钥」后面已经显示 1,带上了添加时间 2026年6月18日。同时你的邮箱会收到一封 OpenAI 发来的安全提醒(A new security key or passkey was added to your account),正常通知不用管。

第 1 步完成。


第 2 步  MFA 开 Authenticator,关短信

在同一个页面往下滑,找到 「多因素身份验证(MFA)」

两个开关:

  • Authenticator app → 打开(蓝色)
  • Text message → 关闭(灰色)

这一步很简单但不能跳过。它是下一步开启高级安全的前置条件。

单独关掉短信开关还不够——Codex 的 step-up 验证是另一套机制,不受这个开关管。真正干掉短信的是下面第 3 步。

第 2 步完成。


第 3 步  注册「高级账户安全」(最关键,展开讲)

继续往下滑,找到 「高级安全设置」 区域。

看到 「高级帐户安全」 那一栏,右边有个 「注册 >」,点进去。

进来之后,页面会列出开启后的全部保护措施。重点看第一条,「禁用电子邮件和短信登录验证码」——这就是我们要的效果。

确认无误,点底部的 「注册」 按钮。页面跳转到高级账户安全的注册页面。

注意页面底部那句提示:启用后,你将在所有设备上退出登录,你需要重新登录。 这是正常行为,不要慌。

点 「加入」

3.1  身份验证

加入之前系统会先验一次身份。这里有两道:

第一道:Passkey 验证。

页面显示 "Verify your identity — Use your passkey to verify it is you"。点 「Use passkey」,浏览器会调起刚才创建的 Passkey(指纹/PIN),验一下就过。

第二道:邮箱验证码。

页面显示 "Check your inbox",OpenAI 会向你的注册邮箱发一个验证码。去邮箱找到这封邮件(标题是 "Your temporary ChatGPT login code"),把 6 位码填进去,点 Continue。

两道验证都过了之后,进入正式的三步注册向导。

3.2  Step 1:Set up sign-in methods(设置登录方式)

「此处插入截图:Set up advanced account security 向导页面」

这一步要你配置登录方式。页面会列出你已有的 Passkey(Security keys & Passkeys 区域会显示 "Google Password Manager, Created: June 18, 2026")。

注意它下面还有一行 "Second method" 和一个 "+ Add" 按钮。意思是建议你加第二种登录方式做备份。

这里有个小坑。如果你点 Add 之后,浏览器再弹创建 Passkey 的对话框,但你用的是同一个密码管理器(比如 Google Password Manager),它一个网站只允许存 1 个 Passkey。会报一个错:**"This Passkey wasn't created"**。

别慌,这不影响流程。你可以选 "Save another way" 换一个密码管理器(比如 iCloud Keychain),或者用另一台设备(手机),或者直接用硬件安全密钥(YubiKey)。页面也提供了 Order YubiKeys 的入口,OpenAI 跟 Yubico 有合作。

没有第二种方式也能继续——但强烈建议补一个。万一你唯一的电脑坏了或者密码管理器出问题,就只能靠恢复密钥了。

确认好登录方式后,点 Continue

3.3  Step 2:Save recovery keys(保存恢复密钥)

点 Continue 之后,系统会生成 5 串恢复密钥。格式类似 XXXXX-XXXXX-XXXXX-XXXXX-XXXXX-X

两个操作按钮:Copy(复制) 和 Download(下载)

这一步是整个流程中最重要的一步。我说的最重要不是随便说说。

开启高级账户安全之后,OpenAI 官方明确声明不再帮你人工找回账号。如果你的 Passkey 丢了(电脑坏了、密码管理器炸了),这 5 串恢复密钥就是你唯一能重新进账号的东西。全丢了 = 账号永久进不去。

所以:

  • 点 Download 下载一份,存到你的密码管理器(1Password、Bitwarden 等)或者离线的安全位置
  • 点 Copy 再复制一份,存到另一个地方做备份
  • 不要截图明文发到任何聊天、网盘、公开渠道。截图保存也行,但一定要打码

勾选底部的 **"I've saved my recovery keys"**,点 Continue

3.4  Step 3:Secure your account(确认开启)

最后一步,页面会再列一遍即将生效的全部变更:

  • Disable email and SMS login codes(禁用邮件和短信登录验证码)
  • Disable password login(禁用密码登录)
  • Disable email account recovery(禁用邮件账户恢复)
  • Disable model training(禁用模型训练)
  • Turn on login attempt email alerts(开启登录尝试邮件提醒)
  • Shorten active sessions(缩短活跃会话时长)

确认没问题,点 Enroll

几秒钟后,页面显示 「Advanced account security enabled」,三个步骤全部绿色打勾。

点 Continue to ChatGPT,回到主界面。

因为刚才开启高级安全时所有设备被强制退出了,系统会让你重新登录一次。这次你会注意到,登录页面变了——不再是以前的密码+短信流程,而是直接弹出 "Verifying it's you... We've found a passkey or security key for your account. Use it to sign in securely."

按指纹或输 PIN,秒进。没有短信,没有验证码,清清爽爽。

第 3 步完成。至此,治本方案全部搞定。


兜底方案  如果开了高级安全仍弹短信

实话实说。高级账户安全对大部分账号有效,但社区有少数人(尤其账号绑过旧号码的)反馈 Codex 客户端仍偶发短信 step-up。如果不幸中招,按下面顺序试。

方案 A  改用设备码登录

先试这个,最简单。

codex logoutcodex login --device-auth

终端会给你一个链接和一个设备码。在浏览器里用已登录的同一个 ChatGPT 账号打开链接,输入设备码完成授权。很多人换这条路就绕过了客户端那套短信逻辑。

方案 B  用 API Key 登录

最稳,和账号短信验证彻底解耦。

codex login --with-api-key

把 platform.openai.com 里创建的 API Key 粘进去就行。这条路完全不受短信问题影响,适合 CI/脚本/服务器场景。

方案 C  迁移 auth.json

Codex 的登录态就是一个 auth.json 文件。这个文件有效,Codex 启动就不会再走登录验证。

系统
路径
Windows
%USERPROFILE%\.codex\auth.json
macOS / Linux
~/.codex/auth.json

最安全的做法:从另一台已登录成功的机器,把 auth.json 复制到当前机器的同名路径下(覆盖前先备份旧文件),重启 Codex 即可。

网上还流传一种"在浏览器控制台用脚本导出 auth.json"的方法,确实能用,但属于非官方手段,有安全风险,且可能随 OpenAI 更新失效。只在前面方案全失败、且你清楚风险的时候再考虑。

以上全试了还不行?联系官方

说明 Codex 客户端被旧号码的短信卡住,发邮件 support@openai.com,请求 "reset the Codex phone-OTP step-up",附上账号邮箱和订阅类型。拿到 Case 编号等人工处理。


总结

四句话。

治本,开「高级账户安全」,Passkey + Authenticator 取代短信,一劳永逸。

务必,存好恢复密钥。丢了 OpenAI 不帮你找回,账号就没了。

兜底,device-auth → API Key → 复制 auth.json,三条路按顺序试。

终极,旧号码问题发邮件让官方清理。

觉得有用,点赞、在看、转发三连,让更多被报错折磨的朋友看到。

我们下篇见。