文章目录
- [1. 具体操作](#1. 具体操作)
-
- [1.1 验证器验证](#1.1 验证器验证)
- [1.2 下载恢复码(可选)](#1.2 下载恢复码(可选))
- [1.3 完成](#1.3 完成)
- [2. 其他验证方式](#2. 其他验证方式)
-
- [2.1 短信验证](#2.1 短信验证)
- [2.2 安全密钥(推荐)](#2.2 安全密钥(推荐))
- [2.3 GitHub 手机 App 验证](#2.3 GitHub 手机 App 验证)
- [3. 什么是 2FA 验证](#3. 什么是 2FA 验证)
- [4. GitHub 近几年对 2FA 的要求](#4. GitHub 近几年对 2FA 的要求)
1. 具体操作
近期,GitHub 要求我们要使用 2FA 验证,具体操作其实很简单,下面就说一下具体操作。
1.1 验证器验证
当我们看到 GitHub 要求我们进行 2FA 认证时候我们点击 Enable two-factor authentication(启用双重身份验证)就会进入如下界面:

这里给出了几个手机验证器 App,比如 1Password、Authy、Microsoft Authenticator。这种方式简单而且安全,当然也可以选择其他方式这里主要介绍这种方式。
这里推荐下载 Microsoft Authenticator,免费而且容易在手机应用商店中找到正确的官方版本(如果下成别的也会有安全风险)。别的比如 1Password 是需要收费的,所以在这里也不推荐。
如下图所示,我们搜索 Microsoft Authenticator 的结果第一个就是广告,而不是我们要找的 Microsoft Authenticator。
我们可以在手机应用商店尝试搜索 Microsoft Authenticator,比如这里苹果商店的第一个也是其他的广告,下面的才是我们要找的官方版本。
我们可以通过开发者的名字去判断是否是官方版本。

下载完后我们打开。

我们用这个验证器去扫描刚刚界面的二维码。也就是下图的红色位置。

然后我们的手机上就会用对应的数字验证码。

将这个验证码输入到刚刚下面的文本框中,然后点击 Continue。
1.2 下载恢复码(可选)
我们完成 2FA 验证以后, GitHub 还会让我们下载并保存 recovery codes(恢复码 / 备用码)。
这样以后我们手机丢失、更换手机、验证器不能使用都可以通过这里的恢复码来登录 GitHub。
我们可以点击 Download 下载保存在安全地方。

如果觉得自己没有这样的风险,也可以以后再下载。下面演示如何再查询恢复码。
我们点击自己的头像选择 Settings。

在侧栏选择 Password and authentication。
往下翻找到 Two-factor authentication 部分。

然后我们点击最下面的 View 就可以查询、下载、复制我们的恢复码,还可以在这个界面选择生成新的恢复码。
1.3 完成
我们在刚刚的这个界面选择 I have saved my recovery codes 即可完成 2FA 验证。

后面的界面我们还可以选择更多的验证方式,这里会在下一步中进行介绍。
2. 其他验证方式
GitHub 还支持别的验证方式,比如短信验证、安全密钥、GitHub 手机 App 验证。
如下图界面所展示的一样。

2.1 短信验证
短信验证码就是我们寻常理解的那样,通过短信接受验证码从而验证。但是这个方法不安全,而且我们在国内,国内暂不支持 GitHub 的 SMS 服务,所以我们在这里找不到中国手机号。我们要想使用短信验证只能使用国外手机号,这里就不再介绍。
2.2 安全密钥(推荐)
这种方式其实如果我们只用一个设备登录我们的 GitHub,这种方式最方便。
它是一种加密密钥,在登陆的时候 GitHub 通过验证这个登录来自于这台设备。
具体操作如下:
我们这里点击 edit,然后点击 Register new security key注册一个新的安全密钥。

然后我们随便输入一个名字作为这个安全密钥的名字(这是为了区分你如果有多个密钥的时候,不确定移除的时候是要移除哪一个)。

然后我们点击 Add 进行添加。
这时候浏览器会询问我们是否要创建通行密钥,如下图所示。

我们点击创建,等待一会就好,如果其提示失败,如下图所示,我们再点击 Try again 一遍即可。

然后我们登录的时候直接使用这个安全密钥进行认证会非常快捷方便,因为我们不再需要输入验证码等操作了。
但是这适应于我们使用固定的设备进行登录,如果我们使用新的设备进行登录就无法使用这个方法。
2.3 GitHub 手机 App 验证
安装 GitHub Mobile App,并登录你的 GitHub 账号。之后登录时,可以通过 GitHub 手机 App 来完成 2FA。
这就与 Steam Guard 类似。
但是同样在国内很难下载并使用 GitHub 手机 App 所以不推荐,这里就不在介绍。
3. 什么是 2FA 验证
2FA 验证(Two-Factor Authentication),中文叫 双重身份验证 / 两步验证。
用最简单的方式去理解那就是:登录账号时,除了输入密码,还需要再通过第二种方式证明"是本人在登陆"。
其实这个操作很久之前就存在,但不像近几年这么流行,我们有时候登录还要输入手机验证码,这就是最基础的 2FA 验证。
常见的 2FA 验证除了刚刚例子中提到的手机验证码和这里使用的动态码还有:
- 邮箱验证码
- 手机 App 弹出的"是否允许登录"(Steam guard)
- 安全密钥 USB Key
- 备用恢复码(这里第二步 GitHub 让我们下载的 Recovery Code)
这几年各个平台都开始推行 2FA 验证。因为随着互联网发展,密码已经越来越不够用了,密码泄露的风险也越来越高,不断威胁着用户的安全隐私。
首先现在钓鱼网站、诈骗所带来的风险比以前更高,其次我们现在的网上信息越来越重要,如果账号被盗我们所承担的风险也更高。
就算我们不幸中招 2FA 可以在密码泄露的时候依然保护用户的账户,MFA(Multi-Factor Authentication,多因素认证 / 多重身份验证)可以阻挡超过 99.9% 的账号入侵攻击。因此 2FA 可以帮助平台保护用户的账户安全。
4. GitHub 近几年对 2FA 的要求
从 2023 年 3 月开始,GitHub 要求所有在 GitHub.com 上贡献代码的用户启用至少一种 2FA。被选中的用户会收到邮件和网页提示,并有一个 45 天的设置期限。
因此这并不是对所有用户强制性的,GitHub 计划在 2026年5月2日 前完成这一轮强制 2FA 的推进。 被选中后,你通常会收到邮件通知和网站横幅提醒,并有 45天 的宽限期来完成配置,逾期后账户功能将受到限制。
以下的用户都不会受到影响:
- 纯浏览用户:只浏览代码、不贡献代码的账户,目前不会被强制要求
- GitHub Enterprise Managed Users 和 GitHub Enterprise Server 本地部署用户
- 所有仓库均为私有、不参与任何公开发布或协作的账户
具体的官方要求和操作指南链接:官方说明