启用双因素身份验证(2FA)后,您需要在浏览器访问 GitHub 时使用第二因素。当您首次配置 2FA 时,您的账户将进入为期 28 天的检查期,以确保 2FA 方法已正确设置。您可以通过在 28 天内成功执行 2FA 来退出检查期。如果您在 28 天内未进行身份验证,系统将在您现有的 GitHub 会话中要求执行 2FA。如果您无法在第 28 天的检查期通过 2FA,请使用提供的快捷方式重新配置 2FA 设置并保留对 GitHub 的访问。更多信息,请参见 配置双因素身份验证。
如果您通过其他方式(例如 API 或命令行)访问 GitHub,您将使用令牌、应用程序或 SSH 密钥进行身份验证。更多信息,请参见 关于 GitHub 身份验证。
在网站登录时执行 2FA
使用密码登录 GitHub 后,您需要提供验证码、点击 GitHub Mobile 中的通知,或使用安全密钥来完成 2FA。
GitHub 仅在以下情况下再次要求您提供 2FA 验证码:您已登出、使用新设备、执行敏感操作或会话已过期。有关敏感操作的 2FA 更多信息,请参见 Sudo 模式。
通过 TOTP 应用生成验证码
如果您选择使用 TOTP 应用程序设置双因素身份验证,随时可以为 GitHub 生成验证码。大多数情况下,只需打开该应用即可生成新验证码。具体操作请参考您所使用应用的文档。
如果在配置双因素身份验证后删除了验证器应用,您需要提供恢复代码才能访问账户。许多 TOTP 应用支持在云端安全备份您的验证码,并可在设备丢失时恢复。更多信息,请参见 当您丢失 2FA 凭证时恢复账户。
使用安全密钥
如果您已在账户中设置了安全密钥且浏览器支持安全密钥,即可使用它完成登录。
- 使用用户名和密码,通过浏览器登录 GitHub。
- 如果您使用实体安全密钥,请确保其已连接至设备。
- 要从操作系统触发安全密钥提示,请选择 “使用安全密钥”。
- 在提示中选择相应的选项。根据安全密钥的配置,您可能需要输入 PIN、完成生物识别提示,或直接使用实体安全密钥。
使用密码钥
如果已启用 2FA 并向账户添加了密码钥,您可以使用密码钥登录。由于密码钥同时满足密码和 2FA 的要求,您只需一步即可完成登录。参见 关于密码钥。
接收短信
如果您通过短信设置了双因素身份验证,GitHub 将向您发送包含验证码的短信。
使用 GitHub Mobile 验证
如果您已安装并登录 GitHub Mobile,可以选择使用 GitHub Mobile 进行双因素身份验证。
-
使用浏览器、用户名和密码登录 GitHub。
-
GitHub 将向您发送推送通知以验证登录尝试。打开推送通知或打开 GitHub Mobile 应用后,会出现提示,要求您批准或拒绝此次登录尝试。
注意
该提示可能要求您输入在登录浏览器中显示的两位数字。
- 使用 GitHub Mobile 批准登录后,浏览器会自动完成登录。
- 拒绝登录尝试会阻止身份验证完成。更多信息,请参见 保护您的账户和数据安全。
在命令行中使用双因素身份验证
在命令行中使用 Git Credential Manager 进行身份验证
Git Credential Manager 是一款安全的 Git 凭证助手,可在 Windows、macOS 和 Linux 上运行。有关 Git 凭证助手的更多信息,请参见 Pro Git 书中的 避免重复输入。
不同操作系统的安装步骤各不相同。更多信息请参见 GitCredentialManager/git-credential-manager 仓库中的 下载并安装。
在命令行中使用 HTTPS 进行身份验证
使用 HTTPS URL 在命令行中验证 GitHub 时,必须创建个人访问令牌并将其用作密码。
命令行提示输入用户名和密码时,使用您的 GitHub 用户名和个人访问令牌。提示只会要求输入密码,不会特别说明需输入个人访问令牌。
更多信息,请参见 管理个人访问令牌。
在命令行中使用 SSH 进行身份验证
启用 2FA 并不会改变使用 SSH URL 在命令行中验证 GitHub 的方式。有关设置和使用 SSH 密钥的更多信息,请参见 使用 SSH 连接 GitHub。
故障排除
如果在使用 2FA 验证时收到 “Two-factor authentication failed” 错误,说明您输入的验证代码不正确。您可以先尝试排查已配置的验证方式,然后再进行账户恢复。参见 故障排除双因素身份验证问题。