概述
当我们配置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的安全。
每一次点赞,都是你独特的味道。每一次关注,都是我前行的动力。感谢有你,一起成长!