Note
自 2023 年 3 月起,GitHub 要求所有在 GitHub.com 上贡献代码的用户启用一种或多种形式的双因素身份验证 (2FA)。 如果你属于符合条件的组,当选择该组进行注册时,将收到一封通知电子邮件,该电子邮件标志着 45 天的 2FA 注册期开始,并且你会看到要求在 GitHub.com 上注册 2FA 的横幅。 如果没有收到通知,则表示你属于需要启用 2FA 的组,但我们强烈建议启用 2FA。
有关 2FA 注册推出的详细信息,请参阅此博客文章。
你可以使用移动或桌面上的 TOTP 应用配置双重身份验证(2FA)或通过短信配置。 使用 TOTP 应用或通过短信配置 2FA 后,还可以将安全密钥添加为备份 2FA 方法。
强烈建议使用基于时间的一次性密码 (TOTP) 应用程序配置 2FA,并将安全密钥配置为备份方法而不是短信。 TOTP 应用程序比短信更可靠,尤其是对于美国以外的地区。 许多 TOTP 应用支持在云中安全地备份验证码,如果你失去对设备的访问权限,可以进行恢复。
配置 2FA 后,帐户将输入 28 天的检查期。 你可以通过在这 28 天内成功执行 2FA 来脱离检查期。 否则,系统会提示在第 28 天在现有 GitHub 会话中执行 2FA。 如果无法执行 2FA 以通过检查,则必须使用提供的快捷方式重新配置 2FA 设置并保留对 GitHub 的访问权限。
如果你是 具有托管用户的企业 的成员,则无法为你的 托管用户帐户 帐户配置 2FA,除非你以设置用户的身份登录。 对于除设置用户以外的用户,管理员必须针对你的标识提供者 (IdP) 配置 2FA。
Warning
- 如果你是某个要求启用双重身份验证的组织的专用仓库的外部协作者,那么你必须先退出该组织,才能够禁用双重身份验证。
- 如果你是一个要求启用双重身份验证的组织的成员或计费管理员,那么你在禁用双重身份验证期间,无法访问该组织的资源。
- 如果你禁用双重身份验证,将会自动失去对该组织的访问权限。 要重新获得对组织的访问权限,如果你是成员或计费管理员,必须重新启用双重身份验证。 如果你是外部协作者,在禁用双重身份验证后,你还将失去对组织专用仓库的任何专用分支的访问权限,并且必须重新启用双重身份验证,联系组织所有者以恢复访问权限。
Note
可以在不完全禁用 2FA 的情况下重新配置 2FA 设置,允许你在需要 2FA 的组织中保留恢复代码和成员身份。
使用 TOTP 应用配置双重身份验证
基于时间的一次性密码 (TOTP) 应用程序可自动生成在特定时间后变化的验证码。 可以将这些应用下载到手机或桌面。 我们建议使用基于云的 TOTP 应用。 GitHub 在 TOTP 应用方面不甚了解,因此你可以自由选择喜欢的任何 TOTP 应用。 只需在浏览器中搜索 TOTP app
即可查找各种选项。 还可以根据设置偏好,添加类似 free
或 open source
的关键字来优化搜索。
Tip
若要在多个设备上通过 TOTP 配置身份验证,请在设置过程中,同时使用每个设备扫描 QR 码或保存“设置密钥”(为最高机密)。 如果已启用 2FA,但你要添加其他设备,必须从安全设置中重新配置 TOTP 应用。
-
将所选的 TOTP 应用下载到手机或桌面。
-
在 GitHub 任意页面的右上角,单击个人资料照片,然后单击 “设置”****。
-
在侧边栏的“访问”部分中,单击“ 密码和身份验证”。
-
在页面的“双因素身份验证”部分中,单击“启用双因素身份验证”。
-
在“扫描 QR 代码”下,执行下列操作之一:
- 使用移动设备的应用程序扫描 QR 码。 扫描完成后,应用程序会显示六位数代码,您可以在 GitHub 输入该代码。
- 如果无法扫描 QR 代码,请单击“安装密钥”**** 以查看可在 TOTP 应用中手动输入的代码,即 TOTP 机密。
-
TOTP 应用程序会将你的帐户保存在 GitHub.com 上并每隔几秒生成新的验证码。 在 GitHub 上,请在“验证应用中的代码”下的字段中键入代码。
-
在“保存恢复代码”下,单击“下载”将恢复代码下载到设备。 将它们保存到安全位置,因为如果您失去访问权限,恢复代码可以帮助您回到帐户。
-
保存双因素恢复代码后,单击“我已保存恢复代码”,以便为帐户启用双因素身份验证。
-
(可选)可以配置附加的 2FA 方法,以降低帐户锁定的风险。 有关如何配置每个附加方法的更多详细信息,请参阅“使用安全密钥配置双因素身份验证”和“使用 GitHub Mobile 配置双因素身份验证”。
手动配置 TOTP 应用
如果无法扫描安全 QR 代码或者想要手动安装 TOTP 应用,则需要在 QR 代码中编码以下参数,这些参数包括:
- 类型:
TOTP
- 标签:其中
GitHub:<username>
是 GitHub 上的句柄的<username>
,例如monalisa
- 机密:这是编码的设置密钥,在配置过程中单击“设置密钥”时会显示
- 颁发者:
GitHub
- 算法:默认使用 SHA1。
- 位数:默认使用 6 位数
- 时间段:默认时间为 30 秒。
使用短信配置双重身份验证
如果无法配置 TOTP 应用,还可以注册电话号码以接收短信。
在使用此方法之前,请确保您可以接收短信。 运营商可能会收取短信费用。
Warning
强烈建议使用 TOTP 应用程序进行双因素身份验证(而不是短信),并使用安全密钥作为备份方法(而不是短信)。**** GitHub 并非支持向每个国家/地区的手机发送短信。 通过短信配置身份验证之前,请查看 GitHub 支持通过 SMS 验证的国家/地区列表。 有关详细信息,请参阅“支持 SMS 身份验证的国家/地区”。 组织和企业可以阻止访问已配置短信 2FA 的成员的内容。 如果你是已做出此决定的任何组织或企业的成员,则应启用 TOTP 应用程序配置的 2FA。 如果外部协作者的组织或企业不允许,则外部协作者可能无法启用短信 2FA。 要继续在组织内处理内容,请使用 TOTP 应用程序启用 2FA 并禁用短信 2FA。
-
在 GitHub 任意页面的右上角,单击个人资料照片,然后单击 “设置”****。
-
在侧边栏的“访问”部分中,单击“ 密码和身份验证”。
-
在页面的“双因素身份验证”部分中,单击“启用双因素身份验证”。
-
完成 CAPTCHA 挑战,这有助于防范垃圾邮件和滥用行为。
-
在“验证账户”下,选择你的国家/地区代码并键入你的手机号码,包括区号。 确认信息无误后,单击“发送验证码”。
-
您将收到含安全码的短信。 在 GitHub 上,请在“验证发送到手机的代码”下的字段中键入代码,然后单击“继续”。
- 如果需要编辑已输入的电话号码,需要完成另一个 CAPTCHA 挑战。
-
在“保存恢复代码”下,单击“下载”将恢复代码下载到设备。 将它们保存到安全位置,因为如果您失去访问权限,恢复代码可以帮助您回到帐户。
-
保存双因素恢复代码后,单击“我已保存恢复代码”,以便为帐户启用双因素身份验证。
-
(可选)可以配置附加的 2FA 方法,以降低帐户锁定的风险。 有关如何配置每个附加方法的更多详细信息,请参阅“使用安全密钥配置双因素身份验证”和“使用 GitHub Mobile 配置双因素身份验证”。
使用密钥配置双因素身份验证
使用密钥,无需输入密码,即可在浏览器中安全地登录到 GitHub。
如果使用双因素身份验证 (2FA),则密钥同时满足密码和 2FA 要求,因此只需一个步骤即可完成登录。 如果不使用 2FA,则使用密钥将跳过通过电子邮件验证新设备的要求。 也可以将密钥用于 sudo 模式并重置密码。请参阅“关于密钥”。
Note
平台身份验证器(如 Windows Hello、Face ID 或 Touch ID)可以改而注册为密钥。
- 必须已通过 TOTP 移动应用 或通过 SMS 配置了 2FA。
- 在 GitHub 任意页面的右上角,单击个人资料照片,然后单击 “设置”****。
- 在侧边栏的“访问”部分中,单击“ 密码和身份验证”。
- 在“密钥”下,单击“添加密钥”。
- 如果出现提示,请使用密码进行身份验证,或使用其他已有的身份验证方法。
- 在“配置无密码身份验证”下,查看提示,然后单击“添加密钥”。
- 在提示符下,按照密钥提供程序概述的步骤操作。
- 在下一页上,查看确认密钥已成功注册的信息,然后单击“完成”。
使用安全密钥配置双重身份验证
并非所有 FIDO 验证器都可以用作密钥,但仍可将这些验证器注册为安全密钥。 安全密钥也是 WebAuthn 凭证,但与密钥不同,安全密钥不需要用户验证。 由于安全密钥只需要验证用户状态,因此仅算作第二个因素,必须与密码结合使用。
使用 TOTP 应用程序或短信启用 2FA 后,即可为帐户注册安全密钥。 如果您丢失了安全密钥,仍可以使用手机的代码进行登录。
-
必须已通过 TOTP 移动应用 或通过 SMS 配置了 2FA。
-
确保已将兼容 WebAuthn 的安全密钥插入到设备中。
-
在 GitHub 任意页面的右上角,单击个人资料照片,然后单击 “设置”****。
-
在侧边栏的“访问”部分中,单击“ 密码和身份验证”。
-
在“安全密钥”旁边,单击“添加”。
-
在“安全密钥”下,单击“注册新安全密钥”。
-
键入安全密钥的昵称,然后单击“添加”。
-
按照安全密钥的文档说明,激活安全密钥。
-
确认您已下载并且能够访问恢复代码。 如果尚未下载,或者要生成另一组代码,请下载代码并将其保存在安全位置。 有关详细信息,请参阅“配置双重身份验证恢复方法”。
使用 GitHub Mobile 配置双重身份验证
在 Web 浏览器中登录 GitHub 帐户时,您可以使用 GitHub Mobile 进行双重身份验证。 向 GitHub Mobile 进行双重身份验证不依赖于 TOTP,而是使用公钥加密来保护您的帐户。
配置 TOTP 应用程序或 SMS 后,您还可以使用 GitHub Mobile 进行身份验证。 如果将来您不再有权访问 GitHub Mobile,您仍然可以使用安全密钥或 TOTP 应用程序登录。
- 您必须已经通过 TOTP 移动应用程序或短信配置双重身份验证。
- 安装 GitHub Mobile。
- 从 GitHub Mobile 登录到您的 GitHub 帐户。
- 确保 GitHub Mobile 可以发送推送通知。 如果尚未选择加入推送通知,可以在 GitHub Mobile 中的通知设置中打开它们。
登录并打开推送通知后,您现在可以将设备用于 2FA。