Github 2FA(Two-Factor Authentication/两因素认证)
Github 2FA认证
多因素用户认证(Multi-Factor Authentication),基本上各个大互联网平台,尤其是云平台厂商(如:阿里云的MFA、华为云、腾讯云/QQ安全中心等)都有启用了,Github算是搞得比较晚些了。
双因素身份验证(Two-Factor Authentication)是多因素用户认证的一种、一种增强账户安全的方法。
传统的用户名和密码登录方式容易受到黑客的攻击,而通过2FA,用户需要在登录时提供两种不同类型的身份验证,通常是密码和手机验证或者密码和一次性验证码。这样,即使密码被泄露,黑客也无法轻易登录账户,保护用户的数据和财产安全。
对github有代码贡献的帐号要求进行2FA验证, 否则过期不能提交代码。
但是github手机短信验证不支持中国号码(未亲测),这里介绍2种网友推荐的方式:
totp应用
浏览器扩展
启用2FA之后,每次在不同设备上登录github都要输入验证码,【浏览器插件】可以生成验证码,但前提是需要先把【帐号】添加【扩展】中,【换设备登录】建议在【手机】上安装【totp应用】
2. 解决方案
2.1 方式1: TOTP应用
推荐Microsoft Authenticator(以小米手机为例,应用商店可搜索到)
其类似于【QQ安全中心】。
每次打开都会生成一个动态验证码,用此验证码进行登录,在国内的应用商店中可以下载到或者从google play中下载。
Step1 进入2FA认证主页。长这样:
或对应Github菜单路径:Github-Personal Center-Settings-Password and Authentication-(点击按钮: Enable Two-Factor Authentication)
从【Two-factor authentication】区域中选择 “Authenticator app”。
选择【Edit】,就会打开一个 页面显示 QR 码(二维码), 请勿关闭此页面。
打开手机【Microsoft Authenticator】应用,从右上角的【+】号添加帐户, (Google、Facebook 等) 选择其他帐户
然后,手机【Microsoft Authenticator】应用扫一扫github页面上的这个QR码
扫描完成之后,帐号就添加到Authenticator中了,下次打开切到github即可展示动态验证码。
还需将手机【Microsoft Authenticator】应用的动态码输入到github页面下方的输入框中
输完之后,将进入流程2的页面
该页面将提供【Recovery Code(恢复码)】,有很多个。github将要求你必须下载下来保存好,便于哪天万一手机设备不可用或丢失时,可通过【恢复码】充当备用(相对于手机认证器)第2认证因子。
在第一次启用2FA后会给你一串码,下载下来保存这串码,关于这种恢复码的解释如下:
Recovery codes can be used to access your account in the event you lose access to your device and cannot receive two-factor authentication codes.
如果是第1次启用2FA,可以查看微软的文档:Add non-Microsoft accounts to the Microsoft Authenticator app - Microsoft Support
此时,就算真正完成了2因素认证了!
方式2: 浏览器扩展
-
开源免费的Authenticator: 2FA Client,支持多种浏览器。
-
切到github的设置- 安全页面,展示一个二维码,然后点击扩展上的扫描按钮,用鼠标选中github的二维码,即可添加github帐号。
Github URL : https://github.com/Authenticator-Extension/Authenticator
Edge扩展:https://microsoftedge.microsoft.com/addons/detail/authenticator-2fa-client/ocglkepbibnalbgmbachknglpdipeoio
Google Extension:身份验证器 - Chrome 应用商店