重置二维码,甲骨文登录二次验证改为Bitwarden验证器的方法
摘要
针对Oracle免费账户原生验证器绑定设备导致换机难的问题,建议更换为Bitwarden等支持账号密码的验证器。操作步骤:登录Oracle云,在用户管理中重置因素,注销后重新登录设置MFA;手机端Bitwarden扫描二维码保存,之后即可使用验证码登录。
前言
如果你有甲骨文的云服务器免费账号(Oracle Cloud Always Free),大概率会非常珍惜它——毕竟免费额度稳定、线路也不错,很多人拿它跑点自己的小服务。也正因为如此,账号安全就格外重要:甲骨文强制开启了二次验证(MFA),所以每次登录都会遇到下面这个界面。

这时候就需要在手机上的官方验证器 App 里点一下"允许"来通过验证。

但这个官方验证器 App 有个非常致命的问题:
它只和设备绑定,一旦更换手机,无法单纯通过账号密码找回;
想在新手机用,必须先用老设备完成一次换绑;
也就是说,如果手机丢了、或换机时忘了先换绑,你就可能彻底登不上甲骨文账号。
对免费账户来说,一旦登不上想找回可谓千难万难,账号里跑的服务和数据都可能没法处理。为了避免这种"锁号"风险,最好的办法就是换一个通过账号密码绑定的验证器(这类支持账号密码体系、可恢复的验证器有很多,微软、谷歌的都可以)。这次我用的是 Bitwarden——它本身就是密码管理器,把验证码功能也收进去,省得再多装一个 App。
为什么「换个验证器」就能解决问题
这里有个概念必须讲清楚,不然你会以为这只是"换了个 App"。
甲骨文官方 App 用的是推送式验证:服务器推一条通知到你已绑定的那台设备上,你点"允许"。这个流程的前提是那台设备还在你手上——验证凭据(设备令牌)存在手机里,手机没了,凭据就没了。
而 Bitwarden / Google Authenticator 这类用的是 TOTP(基于时间的一次性密码,RFC 6238):绑定的时候,服务器和你之间共享一段密钥,之后双方各自用「密钥 + 当前时间」算出一个 6 位数字,对得上就通过。
关键就在这里:TOTP 的凭据是一段密钥,不是一台设备。密钥可以导出、可以备份、可以抄在纸上、可以同步到多台设备——所以只要把它迁到 Bitwarden 里,你就不再被任何一台特定手机绑死了。
⚠️ 动手之前,先确认两件事
这一步很关键,因为「重置因素」是个有风险的操作——它会把当前绑定的验证器清掉,万一中途出问题(网页卡住、验证码没收到、手机没电),你可能就把自己锁在门外了。
所以开始之前请先确认:
你当前的账号能正常收到甲骨文的邮件(备用联系方式有效),万一出问题还有找回路径;
登录状态稳定,别在弱网或者需要频繁重连的环境下操作;
一次性做完,不要重置到一半去干别的。
如果这个账号里还挂着重要的服务,再稳妥一点的做法是:先把这台机器上的关键数据和服务做好备份,确认即使账号暂时进不去也不影响业务,再动手迁验证器。
更换验证器
操作分两段:先在甲骨文后台重置验证因素,再用 Bitwarden 重新绑定。
登录甲骨文云,右上角点击
身份域。

进入
用户管理,点击你的用户名。

在右上角的
操作里,点击重置因素(这一步会清掉当前绑定的验证器)。

点下去之前再确认一次:你手头有可用的备用验证方式(邮箱)。这一步是不可逆的——重置之后,原来的官方 App 立刻失效。
注销后重新登录,输入用户名密码后,系统会要求你重新设置二次验证。

在
启用安全验证后,选择移动应用程序作为验证方式。

勾选
脱机模式或使用其他验证程序——这一步很关键,它允许你使用 Bitwarden / Google Authenticator 这类通用 TOTP 验证器,而不是只能用它自家 App。

名字里的"脱机模式"指的是验证码在本地算,不依赖网络请求——这正是 TOTP 的工作方式。只勾"推送通知"的话,你还是会被锁死在官方 App 上。
手机上打开 Bitwarden,新增一条登录记录,点击
设置验证器密钥。

扫描甲骨文页面上的二维码,然后填写项目名称(比如"Oracle")保存。

二维码扫不上(有些屏幕反光或者缩放比例不对)时,可以用手动输入密钥:二维码本质就是一段
otpauth://totp/...?secret=XXXXXX的文本,把secret=后面那串 Base32 字符抄进 Bitwarden 就行。
保存后,Bitwarden 密码库里就多了这一项验证码。

Bitwarden 会像普通验证器一样每 30 秒循环生成六位验证码。

把当前显示的验证码填入甲骨文的登录页面。

验证通过后,就完成了绑定。

之后每次登录,直接打开 Bitwarden 看当前验证码输入即可,不再依赖特定设备、也不用那个专门的 App 了。

这么做安全吗?说点实话
把验证码和密码放进同一个 App,很多人第一反应是"这不是把鸡蛋放一个篮子吗"——这个顾虑是对的,值得说清楚。
普通用户场景下,这样做整体是更安全的:
官方 App 的锁号风险是必然会发生的(只要你会换手机),而 Bitwarden 被攻破是小概率事件;
Bitwarden 本身可以再叠一层二次验证(登录 Bitwarden 时要求额外的验证码/密钥),相当于「主密码 + TOTP + 设备验证」三层;
两个验证因素(密码和 TOTP)虽然放在同一个 App 里,但它们仍然是两个独立的密钥,只是托管在同一个保险箱里。
但如果你把甲骨文账号当作核心资产(比如跑着生产服务),建议再往前一步:
把 TOTP 密钥单独备份一份离线——绑定环节拿到的那个
secret抄到纸上或离线密码库里。这样即使 Bitwarden 整个丢了,密钥还在,随时能重新绑。或者用独立的验证器 App(Aegis、Ente Auth 都支持导出),和密码管理器分开存放。
更高要求就上硬件密钥(YubiKey 之类),甲骨文支持 FIDO 认证,物理密钥比任何 App 都稳。
顺带一提:无论用哪种方式,把恢复码保存下来这条永远成立。迁移完成后也建议在甲骨文后台顺手检查一遍备用邮箱和恢复选项。
常见问题
Q:填进去的验证码总是提示错误?
99% 是手机时间不同步。TOTP 是靠"当前时间"算的,服务端和你的设备时间差超过 30 秒就会对不上。把手机的「自动设置时间」打开、同步一次网络时间即可。电脑上填验证码的话,同样要保证系统时间准确。
Q:二维码扫不出来怎么办?
用前面说的手动输入密钥方式。有些验证器也支持直接粘贴 otpauth:// 整串链接。
Q:Bitwarden 账号也丢了怎么办?
这就是为什么强调要离线备份 TOTP 密钥。只要密钥在手,登录甲骨文时选"无法使用验证器",走重新绑定的流程就能恢复。所以那道 secret 不能只存在 Bitwarden 里。
Q:能同时绑多个验证器吗?
甲骨文这边是一对一绑定的,但同一个 TOTP 密钥可以在多个验证器里同时添加——比如 Bitwarden 和手机自带的验证器各存一份,两边都能算出一样的码。这是 TOTP 相比推送式验证的又一个好处。
Q:以后换新手机要重新绑吗?
不需要。装好 Bitwarden 登录同一个账号,验证码就在里面,不需要老设备参与。这正是这次迁移最大的收益。
小结
把甲骨文验证器换成 Bitwarden 这类可恢复的账号密码体系,核心收益是换机不再锁号:只要记得 Bitwarden 主密码(且开启了 Bitwarden 自己的恢复机制),任何时候都能重新拿到甲骨文的验证码,彻底摆脱"验证器绑死在某台旧手机"的窘境。
如果你也担心甲骨文账号哪天因换机登不上,强烈建议趁现在能登录时,尽早做一次验证器迁移——操作全程 10 分钟,却能在未来避免一次大麻烦。用其它支持 TOTP 的密码管理器(如 1Password、KeePassXC)同理。