GitHub 废除基于密码的 Git 身份验证

系统 Linux
此前在 2020 年 12 月 15日 ,GitHub 就在官方博客上宣布:” 从 2021 年 8 月 13 日开始,在 GitHub.com 上执行 Git 操作时,不再接受以账户密码的形式完成身份验证。”

 代码托管平台 GitHub 于当地时间 8 月 13 日周五这天正式废除了基于密码的 Git 身份验证。从 09:00 PST (PST是北美太平洋标准时间,北京时间 14 日 0 点)开始,使用 GitHub 开发者将需要切换到基于令牌的身份验证去执行 Git 操作,基于令牌的认证包括个人接入、OAuth、SSH Key 活 GitHub App 安装令牌。

此前在 2020 年 12 月 15日 ,GitHub 就在官方博客上宣布:” 从 2021 年 8 月 13 日开始,在 GitHub.com 上执行 Git 操作时,不再接受以账户密码的形式完成身份验证。”

1. 更换身份验证方式的原因

实际上早在2020年7月30日,GitHub也曾表示:“ 将在所有需要身份验证的 Git 操作中使用基于令牌的验证机制,比如个人访问、OAuth 或者 GitHub App 安装令牌。如果用户目前正在使用密码通过 GitHub.com 对 Git 操作进行身份验证,则将很快收到一封电子邮件,敦促用户更新身份验证方法或第三方客户端。”

同时官方也给出了更换身份验证方式的时间安排:

  •  2020 年 7 月 30 日——如果用户现在使用密码通过 API进行身份验证,可能会收到一封电子邮件,敦促用户更新身份验证方法或第三方客户端。
  •  2020 年9 月 30 日和 10 月 28 日——所有 API 操作都将暂时需要个人访问或 OAuth 令牌,以鼓励用户更新其身份验证方法。
  •  2020 年11 月 13 日——所有通过 REST API进行身份验证的操作都需要个人访问或 OAuth 令牌(使用 GraphQL API 进行身份验证已经需要个人访问令牌)。
  •  2021 年中期–——所有经过身份验证的 Git 操作都需要个人访问权限或 OAuth 令牌。

GitHub 官方认为,近年来受益于 GitHub.com 的许多安全增强功能,例如双重身份验证、登录警报、设备保护、防止使用受损密码和WebAuthn 支持。这些功能使攻击者很难在多个网站上获取重复使用的密码,并使用它来访问用户的 GitHub 帐户。尽管这些安全验证方式有了一些改进,但是由于历史原因,未启用双重身份验证的客户仍能够使用其 GitHub 用户名和密码继续对 Git 和 API 操作进行身份验证,导致这部分用户账户安全受到威胁。

而且GitHub也认为与基于密码的身份验证相比,令牌的使用提供了许多安全优势:

  •  唯一性——令牌特定于 GitHub,可按使用次数或按设备生成。
  •  可撤销——可以随时单独撤销令牌,不需要更新未受影响的凭据
  •  有限性——令牌的使用范围严格控制,仅允许执行用例中需要的访问活动
  •  随机性——令牌的复杂度远高于用户设计的简单密码,因此不受暴力破解等行为的影响。

2. 启动最新身份验证方式的影响

工作流程受影响

  •  命令行 Git 访问。
  •  使用 Git 的桌面应用程序(GitHub Desktop 不受影响)。
  •  使用用户的密码直接访问 GitHub.com 上的 Git 存储库的任何应用程序/服务。

不受更改的影响:

  •  如果用户的帐户启用了双重身份验证,需要使用基于令牌或基于 SSH 的身份验证。
  •  如果用户使用 GitHub Enterprise Server,对此不受影响。
  •  如果用户维护一个GitHub App,GitHub Apps 目前不支持密码认证。

用户需要做什么

  •  对于开发人员,如果用户现在需要使用密码对 GitHub.com 的 Git 操作进行身份验证,则必须在 2021 年 8 月 13 日之前通过HTTPS(推荐)或 SSH 密钥开始使用个人访问令牌,以避免中断。如果用户收到邮件提醒,提示使用的是过时的第三方集成软件,则应将客户端更新到最新版本。
  •  对于集成商,必须在2021 年 8 月 13 日之前使用网络或设备授权流程对集成进行身份验证,以避免中断。有关更多信息,请参阅授OAuth 应用程序和开发者博客上的公告。
  •  可以启用双重身份验证,如果用户想确保自己帐户不允许基于密码的身份验证,可以立即启用双重身份验证。这将要求用户通过 Git 和第三方集成对所有经过身份验证的操作使用个人访问令牌。 

 

责任编辑:庞桂玉 来源: Linux公社
相关推荐

2012-04-10 09:36:58

2012-10-23 16:12:35

2021-06-03 08:56:34

密码身份验证无密码

2019-06-03 11:14:16

2019-06-03 12:02:37

2022-06-20 15:38:39

密码安全身份验证

2012-01-06 10:35:07

2022-05-07 13:19:24

GitHub2FA

2013-12-05 13:46:51

2022-03-14 13:53:01

基于风险的身份验证RBA身份验证

2014-06-27 10:31:52

2010-09-06 11:24:47

CHAP验证PPP身份验证

2017-01-19 09:36:02

2022-03-23 12:02:48

身份验证RBAMFA

2010-07-17 00:57:52

Telnet身份验证

2011-02-21 10:54:45

2013-07-21 18:32:13

iOS开发ASIHTTPRequ

2013-12-06 09:18:44

2014-10-21 09:14:18

2022-10-31 10:00:00

点赞
收藏

51CTO技术栈公众号