简单记录一下换手机后,Github账号关联的Two-factor authentication密码丢失导致账号无法登陆的问题,尝试了各种方法最后完美找回的全过程。
网上大部分都方法都是通过github-recovery-codes.txt
来找回,很多博主说如果没有这个文件的话账号就找不回来了,这对于多年Github用户而言是一个巨大的损失。
当然Github不至于这么容易让你失去账号,本文将一步步带你找回你的github账号。
希望能够帮到遇到同样问题的朋友们
问题背景
- 2FA 认证机制: 2023 年起,GitHub 强制用户开启 Two-factor Authentication,需通过手机应用生成随机码进行登录验证。
- 设备更换: 换新手机或长时间未登录导致认证应用数据丢失,无法生成新的随机码,进而无法登录账号。
解决方法
1 密码登录
当你照常使用密码登录后会看到如下界面:
如果输入完密码,卡在了验证码,那么不要惊慌。请按照以下步骤逐一尝试找回密码
2 通过恢复码找回
- 恢复码的作用: 在启用 2FA 时,GitHub 会提供一组恢复码,通常保存在 github-recovery-codes.txt 文件中。这些恢复码是找回账号的关键。
- 查找恢复码: 首先检查 Download 目录或在本地磁盘全局搜索 github-recovery-codes.txt 文件。若能找到,按照提示输入恢复码即可快速恢复账号访问权限。
假如本地没找到
github-recovery-codes.txt
,那么继续下面的流程
提示需要输入手机上的验证码,很容易发现下面还有个提示:
Having problems?
点击进入,会提示输入Recovery code:
如果有这个code,找回就非常容易了。这个code写在了文件里,通常叫做github-recovery-codes.txt
。
在你创建2FA认证的时候会收到一个邮箱,类似这样:
点击链接即可下载此文件,所以只要找到当时下载的文件即可。
3 账号解锁
假如没有找到恢复文件,那么说明你的账号已经被Two-factor锁死。接下来只能在Recvery Code页面点击Locked out
,完成解锁,也就是去掉账号的双重保护。
此步骤需要使用SSH密钥,即曾经Push过代码的设备,如果无,可跳过此步骤
进来之后首先会提示我们接下来需要做的几个步骤:
简单理解就3个步骤:
- 验证邮箱
- 验证本地设备的SSH
- 等待Github工作人员验证
PS: 这里要强调一下,下面有一排字千万不能点:
If recovery isn't possible, you can elect to unlink an email address to use with a new account.
这里的意思是将邮箱和Github账号解绑,解绑后意味着账号处于游离状态,将会永久丢失!!!!!
ok之后点击I understand, get started
,我们开始解锁。
3.1 验证邮箱
这一步没啥可说的,Github会向你的邮箱发送一个6位验证码,输入进去即可。
3.2 SSH验证
这一步需要使用你Push过代码的设备
PS: 如果想深入了解一下SSH,可以参考官方文档: Github Authentication
然后按照网站的提示在本地命令行输入:
ssh -T git@github.com verify
就可以得到我们需要的ssh校验结果了:
图中红框部分就是验证码,注意是以:Please provide the following verification token to Github Support.
开头,复制的内容要包含以上内容。
提交之后点击进入第三步
3.3 等待审核
这一步完成之后,会收到一封邮件,提示你正在审核中,大概需要1-3个工作日。 审核完会有邮件通知,点击邮件链接进入页面:
到这里就顺利的完成账号恢复了。
#总结
虽然最终圆满找回了账号,但是还是有些地方发人深省。
- 所有的步骤和提示,都是Github网站提供,按道理应该有啥问题,可能还是英文理解问题以及国内外网站使用习惯问题导致
- 不到最后不要放弃,不要放弃,不要放弃!看到很多博主都说账号就找不到了,申请一个新的然后把老仓库clone过来。这个损失不敢想象
- 压根找不到人工客服,全是AI。AI是大势所趋,大家需要做好准备
最后希望大家都能找到自己的账号,并好好保存,祝大家技术进步!