GitHub 账号找回全攻略:应对 Two-factor Authentication 密码丢失

634 阅读4分钟

简单记录一下换手机后,Github账号关联的Two-factor authentication密码丢失导致账号无法登陆的问题,尝试了各种方法最后完美找回的全过程。 网上大部分都方法都是通过github-recovery-codes.txt来找回,很多博主说如果没有这个文件的话账号就找不回来了,这对于多年Github用户而言是一个巨大的损失。 当然Github不至于这么容易让你失去账号,本文将一步步带你找回你的github账号。 希望能够帮到遇到同样问题的朋友们

问题背景

  • 2FA 认证机制: 2023 年起,GitHub 强制用户开启 Two-factor Authentication,需通过手机应用生成随机码进行登录验证。
  • 设备更换: 换新手机或长时间未登录导致认证应用数据丢失,无法生成新的随机码,进而无法登录账号。

解决方法

1 密码登录

当你照常使用密码登录后会看到如下界面:

Screenshot 2025-02-20 at 13.02.01.png

如果输入完密码,卡在了验证码,那么不要惊慌。请按照以下步骤逐一尝试找回密码

2 通过恢复码找回

  • 恢复码的作用: 在启用 2FA 时,GitHub 会提供一组恢复码,通常保存在 github-recovery-codes.txt 文件中。这些恢复码是找回账号的关键。
  • 查找恢复码: 首先检查 Download 目录或在本地磁盘全局搜索 github-recovery-codes.txt 文件。若能找到,按照提示输入恢复码即可快速恢复账号访问权限。

假如本地没找到github-recovery-codes.txt,那么继续下面的流程

提示需要输入手机上的验证码,很容易发现下面还有个提示:

Having problems?

点击进入,会提示输入Recovery code:

Screenshot 2025-02-20 at 13.04.12.png

如果有这个code,找回就非常容易了。这个code写在了文件里,通常叫做github-recovery-codes.txt。 在你创建2FA认证的时候会收到一个邮箱,类似这样:

Screenshot 2025-02-20 at 13.08.18.jpg

点击链接即可下载此文件,所以只要找到当时下载的文件即可。

3 账号解锁

假如没有找到恢复文件,那么说明你的账号已经被Two-factor锁死。接下来只能在Recvery Code页面点击Locked out,完成解锁,也就是去掉账号的双重保护。

此步骤需要使用SSH密钥,即曾经Push过代码的设备,如果无,可跳过此步骤

Screenshot 2025-02-20 at 13.17.07.png

进来之后首先会提示我们接下来需要做的几个步骤:

Screenshot 2025-02-20 at 13.18.53.png

简单理解就3个步骤:

  1. 验证邮箱
  2. 验证本地设备的SSH
  3. 等待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校验结果了:

Screenshot 2025-02-20 at 14.36.19.png

图中红框部分就是验证码,注意是以:Please provide the following verification token to Github Support.开头,复制的内容要包含以上内容。 提交之后点击进入第三步

3.3 等待审核

这一步完成之后,会收到一封邮件,提示你正在审核中,大概需要1-3个工作日。 审核完会有邮件通知,点击邮件链接进入页面:

Screenshot 2025-02-20 at 13.26.48.png

到这里就顺利的完成账号恢复了。

#总结

虽然最终圆满找回了账号,但是还是有些地方发人深省。

  • 所有的步骤和提示,都是Github网站提供,按道理应该有啥问题,可能还是英文理解问题以及国内外网站使用习惯问题导致
  • 不到最后不要放弃,不要放弃,不要放弃!看到很多博主都说账号就找不到了,申请一个新的然后把老仓库clone过来。这个损失不敢想象
  • 压根找不到人工客服,全是AI。AI是大势所趋,大家需要做好准备

最后希望大家都能找到自己的账号,并好好保存,祝大家技术进步!