如何为 GitHub 账号开启两步验证

GitHub 自 2023 年起要求所有贡献代码的用户启用 2FA,这不是可选项

开发者的 GitHub 账号一旦被盗,后果不只是个人的:攻击者可以往你维护的仓库里注入恶意代码、发布带后门的版本,影响所有下游用户。这也是 GitHub 对活跃开发者强制推行两步验证的原因。好消息是,整个设置过程不超过五分钟。

详细步骤

  1. 进入安全设置。登录 GitHub,点击右上角头像 →「Settings」,在左侧菜单选择「Password and authentication」。
  2. 启用两步验证。在「Two-factor authentication」区域点击「Enable two-factor authentication」。
  3. 选择验证器方式。GitHub 默认推荐「Set up using an app」(使用验证器应用),页面会展示一个二维码。
  4. 获取 setup key。手机用户直接扫码;想用网页工具的话,点击二维码下方的「setup key」链接,复制显示的密钥串。
  5. 回填验证码。把密钥粘贴到在线验证码工具,将生成的 6 位验证码填入 GitHub 的输入框确认。
  6. 下载恢复代码。GitHub 会立刻显示 16 个一次性恢复代码(Recovery codes),点击「Download」保存。GitHub 的 2FA 申诉恢复极其严格,没有恢复代码几乎等于永久失去账号,务必离线保存。
  7. 完成确认。输入一个恢复代码或再次输入验证码,GitHub 显示"Two-factor authentication is enabled"即成功。

开启后需要注意什么

  • Git 命令行不受影响。命令行推送代码使用 Personal Access Token 或 SSH 密钥认证,与 2FA 验证码无关,不需要每次 push 都输验证码。
  • 恢复代码用一个少一个。每个恢复代码只能用一次,用掉几个之后记得在设置页重新生成一批。
  • 建议多处备份密钥。把 setup key 同时添加到手机验证器和密码管理器中。GitHub 官方支持文档明确表示,无法验证身份时不会解除 2FA——它的账号恢复没有"客服通融"这条路。

常见问题

组织要求我在某日期前开启 2FA,过期会怎样?

GitHub 会限制你访问该组织的资源,直到完成设置。个人仓库不受影响,但为避免工作中断,收到通知后尽早处理。

验证码总是错误?

检查设备时间是否自动同步。TOTP 对时间敏感,误差超过 30 秒验证码即失效。

拿到 setup key 后,随时在线生成验证码:

使用在线 2FA 工具 →

相关阅读:丢失 2FA 设备后如何恢复账号 · TOTP 与短信验证码对比