大家好,这里是分享吧。
最近不少朋友都在问,GitHub突然要求开启2FA(双因素认证),不设置就登不进去了。第一次接触这个机制的人可能有点懵——不就是个代码托管平台吗,怎么还要搞两步验证?简单说,2FA就是在你输入密码之后再多加一道动态验证码的验证。就算别人搞到了你的密码,没有你手机上那个每三十秒刷新一次的六位数字,也登不进你的账号。今天就把GitHub 2FA的完整设置流程整理出来,从准备工作到配置完成,一步不落。

准备工作
开始之前需要准备两样东西。一是用来安装认证器App生成动态验证码的手机,这个App不需要联网就能用,手机没信号也不影响。二是一个认证器App,推荐Microsoft Authenticator支持云端备份、Authy支持跨设备同步、Google Authenticator老牌稳定,或者如果你已经在用1Password这个密码管理器,它内置了2FA功能也很方便。需要特别说明的是,不推荐使用短信验证,短信验证容易被SIM卡交换攻击,安全性较低,GitHub官方也更推荐使用认证器App。
启用2FA的具体步骤
登录GitHub后点击右上角的个人资料头像,在下拉菜单中选择Settings进入设置页面。在左侧边栏的Access部分点击Password and authentication,在页面主区域找到Two-factor authentication,点击绿色的Enable two-factor authentication按钮。GitHub会提供几种2FA方式,推荐选择Authenticator app。页面会显示一个二维码,打开手机上的认证器App选择添加账号并扫描二维码,App会自动识别并添加GitHub账号。如果手机摄像头扫不了码,点击页面上的setup key会显示一串文本密钥,手动输入到认证器App里也行。认证器App添加成功后会自动生成一个六位动态验证码,把这个数字填回GitHub页面点击确认,2FA就正式启用了。
最重要的一步:保存恢复代码
启用2FA之后GitHub会生成一组恢复代码,这是一组备用密码,万一手机丢了或者认证器App删了,你还能用这些代码登录账号。至少要做以下一件事:下载保存到本地、打印出来放好、或者复制到密码管理器里。注意每个恢复代码只能用一次,用过的就失效了,而且恢复代码和手机最好分开存放,别把恢复代码截图存在手机里,手机丢了就一起没了。
设置好之后怎么登录
以后每次登录GitHub的流程就变成了输入用户名和密码,然后打开手机上的认证器App查看当前六位动态验证码,再把验证码填到GitHub登录页面。如果不想每次都用手机验证,可以在登录时勾选Remember this device,这台电脑在一定时间内就不会再要求2FA验证。
常见问题
如果手机丢了认证器App没了,可以用之前保存的恢复代码登录,登录进去之后立即重新配置2FA生成新的恢复代码。如果连恢复代码都没存,只能联系GitHub Support申请账户恢复,流程会比较长。输入验证码总是提示错误的话,最常见的原因是手机时间不准,认证器App生成的验证码基于时间,手机时间偏差超过三十秒就会失效,去手机设置里把自动设置时间打开问题通常就能解决。命令行推送代码时提示要2FA的话,命令行无法输入动态验证码,需要生成一个Personal Access Token个人访问令牌来代替密码,生成路径在Settings → Developer settings → Personal access tokens → Generate new token。
几点补充
2FA一旦开启,关闭会丢失组织仓库权限。如果你加入了某个要求强制2FA的组织,关闭2FA会被自动移出该组织。建议在多个设备上同时配置2FA,设置的时候可以用多台手机扫描同一个二维码,或者保存好setup key换设备时手动输入。恢复代码建议每六个月刷新一次,路径在Settings → Developer settings → Regenerate recovery codes。
希望这篇攻略能帮你顺利搞定GitHub的2FA设置。如果你在操作过程中遇到了其他问题,欢迎在评论区留言分享。我们下期再见。

评论列表 (0条):
加载更多评论 Loading...