Skip to main content

双因素身份验证问题故障排除

如果在使用 2FA 验证身份时遇到问题,可以尝试对配置的身份验证方法进行故障排除。

如果在使用双因素身份验证 (2FA) 验证身份时收到“双因素身份验证失败”错误提示,说明输入的验证码不正确。 可以先对配置的身份验证方法进行故障排除,再尝试恢复帐户。

使用 TOTP 应用进行身份验证故障排除

使用正确的应用

使用 TOTP 应用进行身份验证时,GitHub 不会向你发送任何内容;你需要根据设置 2FA 时保存到 TOTP 应用的密钥,为 GitHub 提供一个有效的代码。 找到最初用于设置 2FA 的应用或程序,并从中检索验证码。

检查设备的日期和时间

TOTP 码是基于时间的。 如果手机或计算机上的时钟与 GitHub 的服务器不同步,则该码无效。 确保设备上的日期、时间和时区是由网络提供商自动设置的。 在大多数移动设备上,这意味着启用“Set automatically”选项****。

等待新验证码,收到后立即输入

验证码每 30 秒变化一次。 打开 TOTP 应用,等待下一个验证码,并在它出现后立即输入。 避免键入空格或额外的字符,因为它们会使验证码无效。

验证你使用了正确的帐户入口

大多数 TOTP 应用支持单网站多帐户。 请确保从应用中正确的入口读取验证码。 为其他帐户生成的验证码不起作用。

从 TOTP 备份还原

许多 TOTP 应用支持云备份或密钥导出。 如果丢失或重置设备,可基于应用备份将 2FA 数据还原到新设备。 有关说明,请参阅应用的文档。

使用短信进行身份验证故障排除

确认能接收短信

确保设备和手机网络套餐能够接收短消息服务 (SMS) 消息。 一些“纯数据”手机套餐和连接到手机网络的平板电脑设备可能不支持接收短信。 请咨询你的提供商和设备制造商。

接收短信可能会产生运营商费用。 确保手机网络套餐涵盖可能产生的费用。

禁用可能会阻止接收验证码的“请勿打扰”模式或垃圾邮件筛选应用。

确认你在手机网络覆盖范围内

接收短信通常需要‌较强的网络信号。 请先确保处于有效的网络覆盖范围内,再请求验证码。

重启手机

关闭手机再打开会将设备重新注册到网络,这可能会解决一些送达问题。 启用和禁用“飞行模式”可能也有效,但重启手机更可靠。

咨询手机网络提供商

请与手机网络提供商或运营商联系,了解你所在区域是否存在任何中断或投递问题。 他们还能调查你的连接的投递问题。 向他们提供 GitHub 帐户上配置的短信号码以及从 GitHub 请求验证码的时间。

注意

GitHub 和我们的短信投递合作伙伴一起,主动监测短信送达成功率。 对于低送达率时段(可能表明存在普遍性问题),立即展开调查。 你可以在 GitHub 的状态页上查看影响你所在区域短信投递的当前事件和历史事件。

在故障排除不起作用的情况下恢复帐户

如果你已尝试故障排除,但仍遇到问题,则可以尝试使用另一种方法(如果已在帐户上预配置)进行身份验证,例如密钥、GitHub Mobile、 或安全密钥。 有关详细信息,请参阅“使用双重身份验证访问 GitHub”。

警告

出于安全原因,GitHub 支持 无法协助对 2FA 方法(包括短信投递)进行故障排除。

如果没有其他身份验证方法,则需要尝试恢复帐户。 有关帐户恢复的详细信息,请参阅“丢失 2FA 凭据时恢复帐户”。

使用恢复代码进行故障排除

如果在使用恢复代码时收到“恢复代码身份验证失败”错误提示,说明输入的代码无效。 可以尝试对恢复代码进行故障排除。

一次使用一个代码

一组恢复代码包含多个代码。 一个代码为 10 个字母数字字符,中间用连字符连接:xxxxx-yyyyy

尝试使用其他代码

每个代码均为一次性使用:一旦用于身份验证,就不能再次使用。 尝试使用代码集内一个不同的代码。

检查你使用的是不是正确的一组代码

禁用 2FA 后再重新启用时,系统将创建一组新的代码,这会使原先的那一组代码失效。 每当生成一组新代码时,恢复代码也会失效。 即使认为自己可能没有另一组代码,也可以尝试在设备、备份和密码管理器中搜索。 它们具有默认文件名 github-recovery-codes.txt

其他阅读材料