注意:从 2023 年 3 月开始到 2023 年底,GitHub 将逐渐开始要求在 GitHub.com 上贡献代码的所有用户启用一种或多种形式的双因素身份验证 (2FA)。 如果你在符合条件的组中,当选择该组进行注册时,将收到一封通知电子邮件,该电子邮件标志着 45 天的 2FA 注册期的开始,并且你会看到要求你在 GitHub.com 上注册 2FA 的横幅。 如果未收到通知,则表示你不是需要启用 2FA 的组的成员,但我们强烈建议启用 2FA。

有关 2FA 注册推出的详细信息,请参阅此 博客文章

Because of your contributions on GitHub, two-factor authentication will be required for your account starting Sep 28, 2023. Thank you for helping keep the ecosystem safe! Learn more about our two-factor authentication initiative.

背景

最近打开邮箱,收到了 GitHub 发来的邮件,说我的 GitHub 账户可以开启 2FA。

实际上我不太想启用它,这号我常登陆设备就那么几个,多加一步登录验证,我嫌麻烦。去搜索引擎一看,现在 GitHub 强制要求用户开启两步验证,到 2023 年底,所有用户都必须要启用双因素身份验证 (2FA),不能只用密码。若不进行设置,则规定的时间到后不能提交代码。

打开 GitHub 的设置,输入密码后确认,发现推荐的 2FA 方法要求下载 1Password、Authy、Microsoft Authenticator 等 APP。另一种方法是使用短信验证码,但却发现它不支持中国大陆手机号(截至此文之前,它甚至连中国香港的短信都不支持)……

既如此,那较易于使用的方式便是 TOTP 应用和浏览器插件了。设置完后,在新的设备登录后需要通过动态验证码二次验证,大致类似于 Google 身份验证器那样。

TOTP 应用

既然 GitHub 被微软收购了,那么此处以微软的Authenticator举例;其他 TOTP 应用也可以。

进入 https://github.com/settings/security,下拉到Two-factor authentication,找到并选择Authenticator app

点击 Edit,会看到Scan the QR code。打开 Authenticator 应用,从右上角的”+号”, 选择其他帐户,然后扫描这个 QR 码。之后添加成功,下次新设备登录时打开该软件,进入 GitHub 一条即展示动态验证码。

浏览器插件

对于安装软件这种方法,我留作备用。这里使用浏览器插件“Authenticator: 2FA Client”来完成。

开源地址:https://github.com/Authenticator-Extension/Authenticator

Edge 扩展:Authenticator: 2FA Client

Chrome 扩展:身份验证器

安装完插件后,打开 github 设置的安全页面,会显示一个二维码。点击扩展,选中并打开该插件,点击插件界面右上角扫描按钮,用鼠标选中 github 的二维码,即可添加 github 帐号。它会自动存储相关信息,然后就可以生成验证码了。这个验证码每 30 秒刷新一次,刷新后原来的验证码即失效。

参考

https://zhuanlan.zhihu.com/p/615693483

https://zhuanlan.zhihu.com/p/657035724

https://zhuanlan.zhihu.com/p/484991482