Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

使用双重身份验证访问 GitHub

启用 2FA 后,在登录到 GitHub 时需要提供 2FA 验证码以及密码。

启用双因素身份验证 (2FA) 后,你在通过浏览器访问 GitHub 时需提供验证码。 首次配置 2FA 时,你的帐户将进入 28 天的检查期,在现有 GitHub.com 会话中不需要 2FA。 可以通过在 28 天内成功执行 2FA 来退出检查期。 如果未能在 28 天内进行身份验证,系统将要求你在现有 GitHub.com 会话之一内执行 2FA。 如果无法执行 2FA 以通过第 28 天的检查,请使用提供的快捷方式重新配置 2FA 设置并保留对 GitHub.com 的访问权限。 有关详细信息,请参阅“配置双因素身份验证”。

如果使用其他方法(如 API 或命令行)访问 GitHub,需要使用令牌、应用程序或 SSH 密钥进行身份验证。 有关详细信息,请参阅“关于对 GitHub 的身份验证”。

登录网站时提供 2FA 码

在使用密码登录 GitHub 后,系统会提示你提供短信或 TOTP 应用中的验证码。

GitHub 仅在你退出登录后、使用新设备、执行敏感操作或会话过期时才会要求你再次提供 2FA 验证码。 有关针对敏感操作的 2FA 的详细信息,请参阅“Sudo 模式”。

通过 TOTP 应用程序生成代码

如果选择使用 TOTP 应用程序在智能手机上设置双重身份验证,可随时为 GitHub 生成验证码。 大多数情况下,只有启动应用程序才会生成新代码。 具体说明请参阅应用程序的文档。

如果在配置双因素身份验证后删除身份验证应用程序,需要提供恢复代码才能访问帐户。 许多 TOTP 应用支持在云中安全地备份验证码,如果你失去对设备的访问权限,可以进行恢复。 有关详细信息,请参阅“丢失双因素身份验证凭据时恢复帐户

接收短信

如果设置通过短信进行双重身份验证,GitHub 将通过短信向您发送验证码。

向 GitHub Mobile 验证

如果您已安装并登录到 GitHub Mobile,则可以选择向 GitHub Mobile 验证以进行双重身份验证。

  1. 使用您的用户名和密码通过浏览器登录 GitHub。

  2. 如果您已向帐号添加了安全密钥,系统将首先提示您插入并使用安全密钥。 若要跳过使用安全密钥,请单击“使用 GitHub Mobile 进行身份验证”。 突出显示“使用 GitHub Mobile 进行身份验证”的 GitHub 上的双因素身份验证质询

  3. GitHub 将向您发送推送通知以验证您的登录尝试。 打开推送通知或打开 GitHub Mobile 应用程序将显示提示,要求你批准或拒绝此登录尝试。

    注意:此提示可能要求你输入正在登录的浏览器中显示的两位数字。

    需要两位数输入的 GitHub Mobile 的双重身份验证质询

    • 使用 GitHub Mobile 批准登录尝试后,您的浏览器将自动完成登录尝试。
    • 拒绝登录尝试将阻止身份验证完成。 有关详细信息,请参阅“确保帐户和数据安全”。

通过命令行使用双重身份验证

启用 2FA 可能会影响通过命令行向 GitHub 进行身份验证。 若要了解你的身份验证方法是否受到影响,请参阅以下部分。

使用 Git 凭据管理器在命令行上进行身份验证

Git 凭据管理器是一个安全的 Git 凭据帮助程序,可在 Windows、macOS 和 Linux 上运行。 有关 Git 凭据帮助程序的详细信息,请参阅 Pro Git 手册中的避免重复

安装说明因计算机操作系统而异。 有关详细信息,请参阅 GitCredentialManager/git-credential-manager 存储库中的下载和安装

在命令行上使用 HTTPS 验证

必须创建 personal access token,用作在命令行上使用 HTTPS URL 向 GitHub 进行身份验证时的密码。

当命令行上提供用户名和密码时,使用你的 GitHub 用户名和 personal access token。 命令行提示不会指出在要求输入密码时应输入 personal access token。

有关详细信息,请参阅“创建 personal access token”。

在命令行上使用 SSH 验证

启用 2FA 不会更改您在命令行上使用 SSH URL 向 GitHub 验证的方式。 有关设置和使用 SSH 密钥的详细信息,请参阅“使用 SSH 连接到 GitHub”。

使用双重身份验证通过 Subversion 访问仓库

通过 Subversion 访问存储库时,必须提供 personal access token,而不是输入密码。 有关详细信息,请参阅“创建 personal access token”。

故障排除

如果失去对双重身份验证凭据的访问,您可以使用恢复代码或其他恢复方式(如已设置)重新获取对帐户的访问。 有关详细信息,请参阅“丢失 2FA 凭据时恢复帐户”。

注意:如果无法使用任何恢复方法,表示已永久失去对帐户的访问权限。 但是,可以取消链接已绑定到锁定帐户的电子邮件地址。 然后,可以将已取消链接的电子邮件地址链接到新的或现有的帐户。 有关详细信息,请参阅“从锁定的帐户取消链接电子邮件地址”。

如果身份验证失败多次,您可能要与移动提供商同步手机的时钟。 通常,这需要在手机的时钟上选中 "Set automatically"(自动设置)选项,而不是提供自己的时区。

延伸阅读