GitHub双重验证(2FA)免手机号验证方案

背景

GitHub 开始逐步要求账号登录时启用双重验证(2FA) ,并且在 2023 年底过后,没有启用双重验证的账号将不能使用

看来,启用双重验证势在必行,但是在启用双重验证的过程中不支持国内的手机号来接收验证码 : (。

经过一番尝试,终于找到了两种解决方法,见下文。

解决方法

按照官方文档说明,要启用双重验证的方法有三种:

  • GitHub APP
  • 短信验证码
  • TOTP应用的一次性验证码

GitHub APP 在国内应用商店无法下载,同时国内手机号无法接收短信验证码,所以我们使用TOTP应用接收一次性验证码来解决。

并且,使用TOTP应用 接收验证码方法是完全免费的。

方法一:微软Authenticator应用接收验证码

微软的Authenticator应用就是一个TOTP应用,支持Android、iOS系统,国内应用商店均可下载。

安装后初次打开出现报错:"由于 Google Pay 服务当前在此设备上不可用,因此无法使用一些功能",可以直接忽略。

在 GitHub 网页上 首页>个人头像>Settings>Password and authentication>Two-factor authentication 位置找到启用双重验证的入口。

打开微软 Authenticator 应用,点击右上角"+"选择"其他账户(Google、Facebook 等)"唤起相机扫码,扫描上面页面的二维码,成功后就在微软 Authenticator 应用上添加了你的 GitHub 账号。

在微软 Authenticator 应用点击刚添加的应用,生成一个一次密码代码 ,在上面页面输入这个验证码,验证通过后就将 GitHub 账号绑定到了微软 Authenticator 应用了。

一定注意:上面这两步操作时一定不要刷新上图这个网页。

绑定成功会到这个页面。

GitHub 给出了一个Recovery Codes 的文件(类似于私钥,一定要保存好)。

点击"I have saved my recovery codes",跳转到绑定成功页面。

后面在登录 GitHub 时若出现要求填写验证码的地方,输入手机上微软 Authenticator 应用生成的验证码即可。

方法二:Chrome/Edge插件接收验证码

Chrome扩展:身份验证器 - Chrome 应用商店 (google.com)

Edge扩展:Authenticator: 2FA Client - Microsoft Edge Addons

根据浏览器自行安装对应版本插件,这个插件相当于一个简洁版的微软 Authenticator 应用。

按照方法一 打开 GitHub 的启用双重验证页面,然后点击插件弹窗右上角的扫码按钮,拖拽框选二维码,即可添加 GitHub 账号,然后在网页验证码窗口输入插件给出的一次性验证码,即可完成绑定

绑定成功 GitHub 同样会给出一个Recovery Codes的文件(类似于私钥,一定要保存好)。

看到上面页面表示绑定成功

后面在登录 GitHub 时若出现要填写验证码的地方,填写这个插件自动生成的验证码即可。

恢复双重验证

如果微软 Authenticator 应用、浏览器插件中的 GitHub 账号被删掉了,或者应用、插件本身被卸载了,则需要进行这一步操作来重新启用双重验证

Recovery Codes 文件随便复制一行,登录进GitHub。

进入设置页面,点击 "Edit",重新添加、绑定验证码生成设备(微软 Authenticator 应用或者浏览器插件),步骤和解决方法中完全一样。

重新添加、绑定验证码生成设备之后,Recovery Codes 文件和之前一样不会重新生成。

参考资料

相关推荐
m0_738120724 小时前
渗透基础知识ctfshow——Web应用安全与防护(第一章)
服务器·前端·javascript·安全·web安全·网络安全
持续前行4 小时前
通过 npm 下载node_modules 某个依赖 ;例如 下载 @rollup/rollup-linux-arm64-gnu
前端·javascript·vue.js
无限进步_4 小时前
【C++】巧用静态变量与构造函数:一种非常规的求和实现
开发语言·c++·git·算法·leetcode·github·visual studio
元宝骑士4 小时前
深度解析 ROW_NUMBER() 窗口函数:从入门到实战避坑指南
后端·mysql
chenyingjian4 小时前
鸿蒙|能力特性-统一文件预览
前端·harmonyos
毛骗导演4 小时前
OpenClaw 沙箱执行系统深度解析:一条 exec 命令背后的安全长城
前端·架构
天才聪5 小时前
鸿蒙开发vs前端开发1-父子组件传值
前端
段小二5 小时前
Token 费用失控、VIP 用户体验一样烂:Context Engineering 才是关键
人工智能·后端
卡尔特斯5 小时前
Android Studio 代理配置指南
android·前端·android studio
Nyarlathotep01135 小时前
并行设计模式(3):Future模式
java·后端