跳到正文
Novaz Authenticator获取

GitHub 2FA:如何设置身份验证器 App

作者:Novaz 团队 · 更新于 2026年10月29日
Novaz 操作步骤已在 1.0.5 版本中核实

本文译自英文指南。在服务的网站上,按钮和菜单的中文名称可能略有不同。

本页内容
  1. 你的账号必须开启 2FA 吗?
  2. 用身份验证器 App 开启 2FA
  3. 28 天检查
  4. 你的恢复码
  5. GitHub 要求输入验证码时
  6. GitHub 拒绝你的验证码时
  7. 迁移到新 iPhone
  8. 如果身份验证器丢了
  9. 关闭 2FA
  10. GitHub 官方帮助

GitHub 账号存放着你的仓库、议题和拉取请求,而在这里,是否开启双重认证(2FA)往往由不得你选择。自 2023 年 3 月起,GitHub 要求贡献代码的账号开启 2FA,组织也可以要求其成员开启。GitHub 推荐把身份验证器 App(其文档称为 TOTP App)作为主要方式。开始设置时唯一的另一种选择是短信;通行密钥、安全密钥和 GitHub Mobile 可以之后再添加(GitHub,GitHub)。本指南以 iPhone 上的 Authenticator App - Novaz 为例,但任何身份验证器 App 的用法都一样。

我们如何核实本指南: GitHub 的步骤来自 GitHub Docs 和 GitHub Blog,均附有链接,我们于 2026 年 10 月 20 日阅读了这些内容。我们没有在 GitHub 账号上实测,所以个别标签可能略有不同。Novaz 的步骤已在 App 1.0.5 版上核对。

你的账号必须开启 2FA 吗?

GitHub 根据账号的活动来选定需要开启 2FA 的账号:发布 App 或 Action、创建发行版、拥有组织,或者为发布软件包的仓库或 GitHub 认定为高重要性的仓库贡献代码。被选中的账号会收到电子邮件和横幅提示,有 45 天时间设置 2FA,另加 7 天宽限期。之后,在开启 2FA 之前将无法使用 GitHub.com。公司的单点登录并不能让你免于这项要求(GitHub)。

你永远不必向 GitHub 提供手机号:有身份验证器 App 就够了。在 GitHub 不提供短信的地区,它也是唯一的选择;对于只允许安全方式的组织,它也算作安全方式(GitHub)。

用身份验证器 App 开启 2FA

在 GitHub.com 上的步骤(GitHub):

  1. 点击右上角的头像,然后点击 Settings(设置)。
  2. 在边栏的 Access(访问)部分,点击 Password and authentication(密码和身份验证)。
  3. 在 Two-factor authentication(双重身份验证)下,点击 Enable two-factor authentication(启用双重身份验证)。
  4. GitHub 会在 Scan the QR code(扫描二维码)下显示一个二维码。在 Novaz 中,点按 +,然后点按扫描二维码。如果二维码就在同一部 iPhone 上,先截屏,然后使用选择照片。参见在同一部 iPhone 上扫描二维码。
  5. 无法扫描?点击 setup key(设置密钥),以文本形式查看密钥。在 Novaz 中,点按 +,然后点按手动输入密钥,把它输入为设置密钥。GitHub 使用 6 位、30 秒和 SHA-1,所以手动输入密钥也能用。参见什么是 2FA 设置密钥?
  6. 在 Verify the code from the app(验证 App 中的验证码)下输入 Novaz 中的验证码。
  7. 在 Save your recovery codes(保存恢复码)下,点击 Download(下载),然后点击 I have saved my recovery codes(我已保存恢复码)。点击后 2FA 即开启。

28 天检查

新设置的 2FA 会启动一个 28 天的检查期。在此期间完成一次 2FA 登录,检查就会结束。如果没有完成,GitHub 会在第 28 天在你某个已打开的会话中要求 2FA 验证(GitHub)。这样做是为了发现设置有误的身份验证器 App。如果无法通过,GitHub 会提供一条捷径,让你在不被锁在账号之外的情况下重新设置 2FA(GitHub)。最简单的做法:设置完成后不久就退出登录,再用 Novaz 中的验证码重新登录。

你的恢复码

你会得到 16 个一次性恢复码,格式为 xxxxx-yyyyy,默认保存为 github-recovery-codes.txt(GitHub,GitHub)。GitHub 推荐能备份到云端的身份验证器 App(GitHub)。在 Novaz 中,这就是 iCloud 备份(PRO)。你自己导出的备份文件也可以,只要保持更新;两者都没有时,它的密钥只保存在你的 iPhone 上。无论如何都要保留这些恢复码,以防哪天手机不在了,而备份又没有或已过时。GitHub 建议用密码管理器保存它们。

之后,在 Password and authentication 中点击 Recovery codes(恢复码)旁边的 View(查看),即可 Download(下载)、Print(打印)或 Copy(复制)。Generate new recovery codes(生成新的恢复码)会让旧的一组作废,关闭后再开启 2FA 也会如此。更换身份验证器 App 则不会(GitHub)。参见 2FA 备用码。

GitHub 要求输入验证码时

登录时,GitHub 会在你输入密码后要求输入验证码。只有在你退出登录、使用新设备、会话过期或执行敏感操作时,它才会再次要求(GitHub)。敏感操作包括更改电子邮件地址、添加 SSH 密钥、创建个人访问令牌和查看恢复码。完成一次之后,GitHub 在两小时内不会再次要求(GitHub)。

命令行中的 Git 从不要求输入验证码:HTTPS 使用个人访问令牌,SSH 照常工作(GitHub)。

GitHub 拒绝你的验证码时

验证码错误时会显示 Two-factor authentication failed(双重身份验证失败)。GitHub 建议检查以下几点:读取的是 App 中你设置的那个条目的验证码、手机的日期和时间设为自动、输入新的验证码时要立即输入并且不带空格(GitHub)。在 iPhone 上,就是 设置 › 通用 › 日期与时间 › 自动设置。时钟偏差达到 15 秒或更多时,Novaz 会提醒你。

同一页面还说,GitHub 客服 “cannot assist with troubleshooting your 2FA methods”(无法协助排查你的 2FA 方式问题)(GitHub)。参见身份验证器验证码无效?

迁移到新 iPhone

不需要关闭 2FA。在 Password and authentication 的 Two-factor methods(双重身份验证方式)下,点击身份验证器 App 旁边的 Edit(编辑)(如果有多种方式,先打开它旁边的菜单)。用新 iPhone 上的 Novaz 扫描新的二维码,输入验证码,然后点击 Save(保存)。你的恢复码保持不变(GitHub)。完成之后,再从旧 iPhone 上的 Novaz 中移除 GitHub:打开它,点按移除账号。请在交出旧 iPhone 之前完成。如果你有 iCloud 备份或 Novaz 备份文件,也可以改为在新 iPhone 上恢复账号,GitHub 条目会照常可用。参见如何将身份验证器 App 迁移到新 iPhone。

如果身份验证器丢了

GitHub 提供的选项,按顺序如下(GitHub):

  1. 你添加的其他方式:通行密钥、安全密钥、GitHub Mobile 或短信。
  2. 恢复码。 输入密码后,在 More options(更多选项)下选择 2FA recovery code(2FA 恢复码),输入一个恢复码,然后点击 Verify(验证)。
  3. 账号恢复。 在同一界面上,选择 Begin account or email recovery(开始账号或电子邮件恢复),然后选择 I understand, get started(我了解,开始)。输入 GitHub 通过电子邮件发送的一次性密码,然后用 Verify with this device(使用此设备验证)(如果你以前在这台设备上登录过)、SSH key(SSH 密钥)或 Personal access token(个人访问令牌)证明是你本人。GitHub 客服会审核申请,并在三个工作日内通过电子邮件回复。

连密码也忘了?先重置密码,GitHub 随后会提供同样的选项。

第 3 种选项只有在你事先做好准备时才有效。GitHub 建议添加一个用作身份验证密钥的 SSH 密钥,或一个具有 repo 权限范围的经典个人访问令牌(GitHub)。不要每天清除 Cookie:GitHub 正是靠 Cookie 识别你以前用过的设备(GitHub)。

如果都不行,这个账号就永久丢失了。客服不会恢复它,也不接受身份证件核验(GitHub)。你仍然可以解除电子邮件地址的关联,把它用在新账号上。参见装有身份验证器 App 的手机丢了?

关闭 2FA

在 Password and authentication 中,打开三个点菜单,选择 Disable two-factor authentication(停用双重身份验证)并确认。你将无法访问要求 2FA 的组织;如果你是被 GitHub 选定必须开启 2FA 的账号,则根本无法关闭它(GitHub)。要更换 App,请改为编辑该方式。

GitHub 官方帮助