> 技术文档 > github.com 2FA 双重身份认证:2025年9月4日之后,网站登录被要求使用

github.com 2FA 双重身份认证:2025年9月4日之后,网站登录被要求使用


github.com 的强制性要求:

GitHub用户现在需要启用双因素身份验证作为额外的安全措施。你在GitHub上的活动将你纳入此要求。你需要在2025年9月4日之前在您的帐户上启用双因素身份验证,否则将被限制帐户操作。

2FA 双重身份认证:

  • 老早就有的技术了,也没有什么神秘的。就比如在大门上,除了普通的门锁之外,还安装了指纹锁;要想打开大门,必须同时拥有普通钥匙,以及登录了指纹的那个人的指定手指。
  • 网上银行一般除了密码之外,还需要 U 盾。
  • github 一般直接采用普通密码+动态密码来实现 2FA就好了。动态密码生成客户端可以安装到手机上,毕竟现在一般人人都有智能手机吧?

动态密码的要点

  1. 在 github.com 服务器端生成一个临时密钥
  2. 将临时密钥输入到安装在手机里的动态密码客户端,这时,客户端会生成一个6位的动态密码(流行的是 6 位,也有 8位的等等)。
  3. 将客户端生成一个6位的动态密码,输入到服务器端。从而实现了服务器端对客户端的认证。

注:上述操作的过程,是有时间限制的。一般在连续操作的情况下,这个时间限制可以不去理会它。

github 2FA 官方文档:

配置双重身份验证  配置双重身份验证 - GitHub 文档  

>  关于强制双因素身份验证 - GitHub 文档  

qrencode :在终端里运行,可将字符串转换为二维码

# 减少一个麻烦,同时,增加一个麻烦# 可免去手动输入密钥的麻烦;但是,却需要在手机上额外安装一个二维码扫描 appecho \"Custom Size\" | qrencode -s 10 -m 5 -o - -t ANSI

一个过时、流行、可用的:2FA 动态密码安卓手机免费客户端

可用:Google Authenticator for Android v5.00  https://github.com/google/google-authenticator-android/releases/tag/v5.00  

虽然软件版本老旧了,但还是可用的。如果不行,就去安装 github 推荐的?或者?

  • 需要用户自行下载安装,或者也可以安装手机官方商店里的类似动态密码 app。
  •  Microsoft Authenticator,   iOS, Android,由于有点软的东西,动不动就内置了遥测的功能,所以不想在手机里面安装它。

Git 登录,应该不受本次 github 升级的影响吧?

  • API 登录,应该不需要吧?

1. github 2FA 双重身份认证的设置步骤

步骤 1:进入设置界面

1.1 在登录时,如果自动弹出如下窗口,则点击 \"Enable 2FA\"

GitHub users are now required to enable two-factor authentication as an additional security measure. Your activity on GitHub includes you in this requirement. You will need to enable two-factor authentication on your account before September 04, 2025, or be restricted from account actions.

GitHub用户现在需要启用双因素身份验证作为额外的安全措施。你在GitHub上的活动将你纳入此要求。你需要在2025年9月4日之前在您的帐户上启用双因素身份验证,否则将被限制帐户操作。

>  now required    Raising the bar for software security: GitHub 2FA begins March 13 - The GitHub Blog  

1.2 在登录时,如果不自动弹出,则点击 \"settings\"

  • 是账户下的 settings。不是仓库的 settings

    

步骤 2:开始双重身份认证

注:

  • 在 github网站的 2FA 指定页面上,点击 “setup key”,可显示出 16 位临时网站验证用途的动态密钥。
    由于只有 16位,因此,如果只是偶尔使用一下,直接输入即可;不必在安装手机二维码扫描 app。
  • 一种方便的做法,是在电脑上安装将字符串密钥转换为二维码的软件,如 sudo apt install qrencode;然后,在手机上用微信的“扫一扫”,在手机里获得字符串密钥。(微信的“扫一扫”支持这里的用途)

github.com 本身也提供了二维码临时密钥,但好像使用有些麻烦?就没有去尝试它了

步骤 3:在手机上,配置双重身份认证客户端

Google Authenticator 5.00 可用。

  1. 在 github网站上,将点击 “setup key” 的显示的 16 位临时网站验证用途的动态密钥;并将它输入到手机端 Google Authenticator 的密钥输入框里。
  2. 将用户手机端(如 Google Authenticator )自动生成的6位动态密码,输入到 github 网站上,上述步骤 2 的“Verify the code from app” 窗口。从而完整github 网站服务器端与用户手机端的验证确认和关联。
  3. 完成步骤2 和 3 ,一般应该有一定的时间限制?一般只要不是蜗牛速度就行?如果需要,则用户可以自己测试了。

参考:github 推荐的双重身份认证客户端,如下:

有收费的,也有免费的。

Setup authenticator app

Authenticator apps and browser extensions like 1Password, Authy, Microsoft Authenticator, etc. generate one-time passwords that are used as a second factor to verify your identity when prompted during sign-in.

Scan the QR code

Use an authenticator app or browser extension to scan. Learn more about enabling 2FA.

Unable to scan? You can use the

to manually configure your authenticator app.

Verify the code from the app

> 1Password,   支持更多平台

> Authy, ( Nonprofit Communications | Twilio.org )   iOS, Android

> Microsoft Authenticator,   iOS, Android

步骤 4:在 github 上,继续完成双重身份认证所需要的其他操作

特别注意:

  1. 点击 Download 下载应急登录一次性固定密码文件 github-recovery-codes.txt ,并保存在安全的地方。一共有16个密码。
  2. 点击 I habe saved my ....

    

  • 应急登录一次性固定密码:可以像之前的普通登录密码那样使用;但其输入是输入到 2FA动态密码框里。这些密码在用过之后,会自动失效?2FA 一般都是这样做的。
  • 用掉一个一次性固定密码就少掉一个,在全部(保留2个,以防验证在重置时有可能还需要验证)一次性固定密码失效之前,必须完成 2FA 的重新设置;否则,就只能需求其他的登录找回方法了??

2. github 2FA 双重身份认证的登录方法

步骤:

  • 1. 和之前一样,账户+密码登录。(之前在此步骤之后,直接进入账户)
  • 2. 接着弹出双重身份认证登录窗口:从手机中获得 2FA 动态密码,输入之后,会自动进入账户。如果不会自动进入,则按“Verify”按钮。