如果在使用双因素身份验证(2FA)时收到 “Two-factor authentication failed” 错误,则说明您输入的认证码不正确。您可以在尝试账户恢复之前,先排查已配置的身份验证方式。
排除使用 TOTP 应用的身份验证问题
使用正确的应用
在使用 TOTP 应用进行身份验证时,GitHub 不会向您发送任何内容;您需要基于在设置 2FA 时保存到 TOTP 应用的密钥,向 GitHub 提供一个有效的验证码。请找到最初用于设置 2FA 的应用或程序,并从中获取验证码。
检查设备的日期和时间
TOTP 验证码基于时间。如果您手机或电脑的时钟与 GitHub 服务器不同步,验证码将无效。请确保设备的日期、时间和时区由网络运营商自动设置。大多数移动设备上,这意味着打开 自动设置 选项。
等待新验证码并及时输入
验证码每 30 秒更换一次。打开您的 TOTP 应用,等待下一个验证码出现后立即输入。避免输入空格或多余字符,因为这些会导致验证码无效。
确认使用了正确的账户条目
大多数 TOTP 应用支持为同一网站添加多个账户。请确保您读取的是应用中对应账户的验证码。为其他账户生成的验证码是无法使用的。
从 TOTP 备份恢复
许多 TOTP 应用支持云备份或密钥导出。如果您设备丢失或重置,可能可以从应用的备份中恢复 2FA 数据到新设备。请查阅您所用应用的文档获取具体操作说明。
排除使用短信的身份验证问题
确认您能够收到短信
确保您的设备和移动套餐支持接收短信(SMS)。某些 “仅数据” 套餐以及通过移动网络连接的平板设备可能不支持接收短信。请向运营商和设备制造商确认。
接收短信可能会产生运营商费用。请确认您的移动套餐已包含可能产生的费用。
关闭 “请勿打扰” 模式或可能拦截验证码的垃圾邮件过滤应用。
检查是否有移动网络覆盖
接收短信通常需要良好的网络信号。在请求验证码之前,请确保您拥有足够的覆盖范围。
对手机进行电源循环
关闭再打开手机可以重新向网络注册设备,这有时能解决投递问题。启用并关闭 “飞行模式” 也可能有效,但电源循环更为可靠。
咨询您的移动运营商
向您的移动运营商或网络提供商查询所在地是否存在本地故障或投递问题。他们也可能帮助调查您的连接问题。请提供您在 GitHub 账户中配置的短信号码以及您请求验证码的时间。
注意
GitHub 与短信投递合作伙伴会主动监控短信送达成功率。若出现提示大面积投递困难的低送达率时期,团队会立即展开调查。您可在 GitHub 状态页面查看您所在地区的短信投递实时及历史事件。
如果排查无效,恢复您的账户
如果您已尝试排查仍无法登录,可使用其他已预先配置的方式进行身份验证,例如 Passkey、GitHub Mobile 或安全密钥。更多信息请参阅 使用双因素身份验证访问 GitHub。
警告
出于安全考虑,GitHub 支持团队无法帮助排查您的 2FA 方法,包括短信投递问题。
如果您没有其他身份验证方式,需尝试账户恢复。有关账户恢复的更多信息,请参阅 在失去 2FA 凭证时恢复账户。
使用恢复代码进行排查
如果在使用恢复代码时收到 “Recovery code authentication failed” 错误,则说明您输入的代码无效。您可以尝试排查恢复代码的使用。
每次使用一个代码
一组恢复代码包含多个条目。单个代码由 10 位字母数字字符组成,中间有一个连字符:xxxxx-yyyyy。
尝试使用不同的代码
每个代码只能使用一次:使用后即失效,不能再次使用。请从代码集中挑选另一个未使用的代码。
检查您使用的是正确的一组代码
当 2FA 被禁用后重新启用时,会生成一组新的代码,旧的代码随即失效。每当生成新代码集合时,恢复代码也会失效。即使您认为没有其他代码集合,也可以尝试在设备、备份和密码管理器中搜索。默认文件名为 github-recovery-codes.txt。