Github 双重验证(2FA)Authentication Code验证码接收不到&Recovery code忘记了怎么办&github Two-factor

概述

当我们配置2FA双重验证后,每次登录github尽管密码输入正确都必须输入2FA生成的一次性验证码。当我们无法获取2FA的验证码时,我们应该如何登录github,甚至当我们把recovery code也丢失后,该如何登录我们的github,本文带你一探究竟。

问题模拟

打开github

输入密码登录

此时需要输入Authentication code,如下所时

这时候如果我们的双重验证(Two-factor authentiation)的方式用不了了,例如之前配置好的Authenticator这个App不小心被卸载了,或者它生成的验证码无法使用,一直提示验证码错误(小编就遇到过一次),所以把自己的解决方法整理成此文,希望帮助更多的读者解决问题,少走些弯路。

解决方案

情形1

当我们无法获取之前设置的2FA(Two-factor authentication*)的验证码时,我们可以使用设置2FA时备份的recovery code进行恢复,下面时具体操作步骤

点击下图中的Use a recovery code or begin 2FA account recovery

打开设置2FA时保存的github-recovery-codes.txt,此文件保存了Recovery code.

jagitch@jagitch-MS-7B93:cat github-recovery-codes.txt

27e36-76579

8e040-d92c6

148ca-907c5

0797e-a9294

2faf6-747d9

ab540-5a7c1

6d68f-20595

c2920-1394c

73165-90291

558c2-21b41

93d57-1d63d

b2823-ccf9e

3eeb6-b1399

46375-49807

ff532-1cbeb

d8681-9d637

该文件中有16个Recovery code,可以任意选择一个输入,如下所示

点击Verify按钮,即可登录进入github,如下所示

此时,我们可以滚动到页面底部,可以看到Authenticator methods面板,在这里我们就可以重新设置2FA。如果还不熟悉2FA配置的读者,可以参考 《超级详细的Github双重验证开启教程&github Two-factor authentication》

情形2

当我们既没有Autentication code并且Recovery code也丢失时,此时输入密码正确后的登录页面如下所示

点击Use a recovery code or begin 2FA account recovery链接

点击上图中地Try 2FA account recovery, or unlink your account email address(es) 链接

根据上图可知,在没有Recovery code的情况下我们可以通过3个步骤来恢复我们的github*账号

验证github账号绑定的邮箱

可以使用以下三种方式之一验证:常用的主机、github中设置的ssh key、personal access token

github客服将在1-3天内人工审核上述信息,如果审核成功,则会发送邮件通知我们

点击绿色的I understand, get started按钮

点击绿色的Send one-time password按钮,向github账号绑定地邮箱发送验证码

打开电子邮箱,输入邮件中的验证码

点击绿色的Verify email address按钮

这里有3中方式来进行验证,请看下一节

恢复账号的三种验证方式

方式一、使用经常登录或最后一次登录github的设备验证

点击上图中的Verify with this device 按钮,采用这种方式必须使用自己经常登录或最后一次登录成功的电脑执行这些操作。

等待接收github发送地邮件,大概需要1-3个工作日

方式二、使用在github中设置的ssh key验证

点击上图中的SSH key

打开github中配置的ssh key中对应地电脑的终端,输入如下命令

jagitch$ ssh -T git@github.com verify

Please provide the following verification token to GitHub Support.

ARTTLBINFVVQKLBIZYULPQ3GRZOEDAVKQNZGKPLUMVSF6YLUZZTIKIMRZJYHKYTANFAV623FPHHAL4BY6U

然后将上述命令地输出复制粘贴到上图的多行文本框中

点击绿色的Verify and submit for review按钮

等待接收github发送地邮件,大概需要1-3个工作日

方式三、使用github中设置的Personal access token进行验证

该方法需要github账号曾经设置过Personal access token,否则该选项是禁用状态。如果是可用状态,点击Personal access Token。

在新打开的页面中,输入你的Personal access token,点击绿色的Verify and submit for review按钮

等待接收github发送地邮件,大概需要1-3个工作日

总结

本文介绍了2FA(Two-factor authentication)失效或者无法获取时如何恢复github账号以及recovery code也丢失的情况下怎么恢复账号,可以使用常登录github的电脑或者在github中设置过地ssh key或者Personal access token

综上所述,为了我们的github账号安全,我们必须做好以下几点:

保证github绑定的邮箱可用,如果旧邮箱不想使用了,记得及时将github账号绑定地邮箱切换为新邮箱。

至少给github配置一个ssh key,既可以通过ssh key实现免密执行git操作,又可以保证在丢失recovery code时能进行账号恢复操作。

给github配置2FA双重验证,登录时必须使用2FA生成的一次性临时验证码,保证账号的安全性。

配置2FA时会生成16个recovery code,必须备份并保证这些recovery code的安全。

每一次点赞,都是你独特的味道。每一次关注,都是我前行的动力。感谢有你,一起成长!

推荐阅读

1. 十分钟带你入门PostgreSQL数据库开发

2. 互联网、因特网和万维网傻傻分不清,一文带你彻底理解计算机中的各种网络

3. 如何对Docker容器进行备份和迁移

4. 如何调试Go语言自身的源码运行Go语言自身的源码报错

5. 超级详细的Github双重验证开启教程&github Two-factor authentication