一次性搞定 Github Enable two-factor authentication
一、背景
最近经常收到 github 官方的邮件:
Hey XXXX!
This is a reminder that we announced that we are requiring
users contributing code on GitHub.com
to enable two-factor authentication (2FA).
You are receiving this notification because your account meets
this criteria and will be required
to enroll in 2FA by November 14th, 2024 at 00:00 (UTC).
Please see the below FAQ, or learn more about 2FA on GitHub Help.大概意思是说在限定时间内,github账号必须开启 两因素认证(2FA),否则将无法登陆(限制登录使用)
然后如果在规定时间内没有开启 2FA,那么之后你登陆 github 账号就会一直显示:Enable two-factor authentication(2FA)
要求你的账号必须开启 2FA,否则无法登录进去…….
二、为什么必须开 Github 2FA?
在讲步骤前,先明确一个问题:明明有密码了,为什么还要多此一举开 2FA?答案就一个:防暴力破解和密码泄露。
现在很多人的密码会重复用,一旦某个平台密码泄露,黑客会用“撞库”工具批量尝试登录 Github。
而 2FA 相当于给账号加了第二把锁——即使密码被拿到,没有动态验证码也登不上。
尤其是仓库里有公司代码、个人开源项目的,2FA 是基础防护,Github 官方也一直强推这个功能,在“安全设置”里会直接提示“开启 2FA 提升安全性”。
就是一个二次安全验证,目的也是为了保障账户的安全性
三、两种验证方式选哪种?
Github 支持两种 2FA 验证方式,选一种就行,优先推荐第一种(更安全稳定):
-
认证 APP 验证(推荐):用手机 APP 生成动态验证码,比如 Google Authenticator(谷歌验证器)、Microsoft Authenticator(微软验证器)、Authy 等,离线也能用,稳定性高;
-
短信验证(备用):通过短信接收验证码,缺点是依赖手机信号,境外号码可能收不到,且有被短信拦截的风险,建议作为备用方式。
-
browser extension(浏览器拓展)
本文以“Microsoft Authenticator”为例讲解,其他 APP 操作逻辑一致。
其中方式三短信验证,有些手机号码接收不到 github 的短信,所以用不了
准备好手机和电脑(电脑登 Github,手机装 APP),开始操作。
四、详细步骤
整个过程分“进入安全设置→选择验证方式→扫码绑定→生成恢复码→验证生效”五步
(一)进入 Github 安全设置页面
电脑端登录 Github 后,按以下路径进入设置:
-
点击右上角头像,在下拉菜单里选“Settings”——这个入口很明显,不用翻找;
-
左侧菜单栏拉到最下面,找到“Password and authentication”(密码和认证),点击进入;
-
在“Two-factor authentication”板块,点击“Enable two-factor authentication”(开启双因素认证),进入下一步。
如图
(二)选择验证方式(APP 优先)
方式一. 认证 APP 验证(推荐)
-
手机上打开提前装的 Microsoft Authenticator,点击“+”号(右上角),选“扫描条形码”;
手机应用商店搜索下载:Microsoft Authenticator
注意前往别下错了,如上图,开发者是微软(中国)
-
电脑端页面会显示一个二维码,用手机 APP 扫描这个二维码——扫描成功后,APP 会生成一个6位动态验证码(每30秒刷新一次);
-
在电脑端“Authentication code”输入框里,输入 APP 上显示的6位码,点击“Verify”验证。
如果扫码失败(比如二维码模糊),可以点击“enter this text code instead”,会显示一串文本密钥,在 APP 里选“手动输入密钥”,把这串密钥输进去,同样能绑定成功。
最后点击 i have saved my recovery codes
进入步骤3,直接点击 done 即可完成 2FA 认证
方式二. 短信验证(可选)
如果暂时没有认证 APP,可先选短信验证,后续再改回 APP 验证:
-
在验证方式页面选“Text message”,输入手机号(带国家代码,中国是 +86),点击“Send code”;
-
手机收到短信验证码后,输入到电脑端输入框,点击“Verify”验证。
如果你的手机接收不了 github 的短信,那么此方式将不适合你
方式三:浏览器扩展
在浏览器安装 Authenticator 2FA client 拓展
不同浏览器的拓展的安装方式不同
-
谷歌浏览器
https://chromewebstore.google.com/?hl=zh-CN&utm_source=ext_sidebar
搜索:Authenticator
-
必应浏览器
搜索:Authenticator
这里测试使用的是:【Authenticator: 2FA Client】2,000,000+ 个用户
建议使用用户量比较多的拓展,才安全可靠
认证方式几乎和方式一 TOTP 应用一致,唯一不同的时是在扫描二维码的步骤,手机是直接APP扫码,
浏览器拓展需要点击拓展应用上的扫码功能进行扫描,然后就会生成【一次性密码代码】
(三)保存恢复码(关键)
验证通过后,Github 会生成10个8位的“恢复码”,这是 账号丢失的最后保障——比如手机丢了、APP 卸载了,就能用恢复码登录并重新设置 2FA。
-
点击“Download”下载恢复码(是一个 TXT 文件),同时建议“Print”打印出来,存到家里的保险柜或加密云盘;
-
一定要逐字确认恢复码能打开且清晰——别存完就不管了,万一需要时文件损坏就麻烦了;
-
勾选“I have saved my recovery codes”,点击“Next”进入最后一步。
这是一个非常关键的步骤,如果你不小心卸载了认证 APP,那么此恢复码可以帮助你登录
(四)验证生效,完成开启
最后一步是“测试 2FA”,确保功能正常:
-
点击“Enable two-factor authentication”,Github 会提示你用刚设置的验证方式获取验证码;
-
输入 APP 生成的6位码(或短信收到的码),点击“Verify”;
-
页面显示“Two-factor authentication is enabled”,说明开启成功!
开启后,下次登录 Github 时,输入密码后会多一步“输入 2FA 验证码”,输对才能登录,安全性直接拉满。
五、进阶:恢复码的正确使用
仅当验证方式失效时用
比如手机丢了/认证 app 卸载了/换手机了,无法获取 APP 验证码,这时用恢复码登录:
-
Github 登录页面输入账号密码后,会提示“输入 2FA 验证码”,点击下方“Use a recovery code instead”;
-
输入之前保存的任意一个恢复码(10个恢复码可以用一次,用完就失效);
-
登录成功后,立刻去“Password and authentication”里重新设置 2FA 验证方式(比如换个手机装 APP 绑定)。
注意:每个恢复码只能用一次,用过后及时删掉,避免重复使用失效。
常见问题
Q1. 扫码绑定 APP 时,验证码一直提示无效?
场景:手机 APP 扫描二维码后生成验证码,输入到 Github 却提示“无效”,反复试都不行。
原因:手机时间和电脑时间不同步,导致生成的验证码和 Github 预期的不一致(2FA 验证码基于时间戳生成)。
解决:
① 手机打开“设置→日期和时间”,开启“自动设置日期和时间”(同步网络时间);
② 关闭 APP 重新打开,生成新的验证码再输入,一般就能解决。
Q2. 手机丢了/APP 卸载了,没有验证码登不上账号?
场景:手机丢了,重新买了手机,之前的认证 APP 没备份,登录时要验证码但拿不到。
解决:用之前保存的恢复码登录,步骤:
-
Github 登录页面输入账号密码,点击“Use a recovery code instead”;
-
输入任意一个未使用过的恢复码,登录成功;
-
立刻去“Password and authentication”里重新绑定新的认证 APP,同时生成新的恢复码(旧的恢复码失效)。
如果恢复码也丢了,只能联系 Github 官方客服,提供账号注册邮箱、历史仓库链接等证明,流程很麻烦,所以恢复码一定要存好!
Q3. 可以关闭 2FA 吗?关闭后有影响吗?
场景:觉得每次登录输验证码麻烦,想关闭 2FA。
解答:可以关闭,但强烈不建议,关闭后账号安全性会大幅下降。如果实在要关,步骤:
进入 Github → Settings → Password and authentication → Two-factor authentication → Disable关闭后,下次登录只需要密码,但建议关闭后立刻重新开启(比如换个更方便的认证 APP),不要长期处于无 2FA 状态。
⚠️:现在好像不给关闭了,强制要求开启了….
Q4. 用短信验证时,收不到验证码怎么办?
场景:选择短信验证,输入手机号后点击“Send code”,等了很久都没收到短信。
原因:Github 短信服务在部分地区可能不稳定,或手机号被误判为垃圾号码。
解决方案:
① 换个时间再试(比如10分钟后),或重启手机;
② 优先改用“认证 APP 验证”(离线可用,不受短信影响);
③ 如果是境外手机号,建议换成境内手机号尝试。
Q5. 恢复码丢了,还能重新生成吗?
场景:之前保存的恢复码找不到了,担心后续验证方式失效后登不上账号。
解决:可以重新生成,步骤:
-
登录 Github 后,进入“Settings → Password and authentication”;
-
在“Two-factor authentication”板块,点击“Generate new recovery codes”;
-
输入密码确认身份后,会生成新的10个恢复码,旧的恢复码会立刻失效;
-
保存新的恢复码,替换掉旧的。
总结
Github 账号里的代码是开发者的“资产”,2FA 这种基础防护花10分钟就能搞定,却能避免后续巨大的损失。
如果还没开启,现在就跟着教程操作,做完记得把恢复码存好~ 有其他问题欢迎在评论区留言!
版权声明
未经授权,禁止转载本文章。
如需转载请保留原文链接并注明出处。即视为默认获得授权。
未保留原文链接未注明出处或删除链接将视为侵权,必追究法律责任!
本文原文链接: https://fiveyoboy.com/articles/github-enable-2fa/
备用原文链接: https://blog.fiveyoboy.com/articles/github-enable-2fa/