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

2021年8月16日 229点热度 0人点赞 0条评论

图片

整理 | 孙胜
出品 | CSDN(ID:CSDNnews)

近日,代码托管平台 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 操作时,不再接受以账户密码的形式完成身份验证。”

图片


图片

更换身份验证方式的原因


实际上早在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,可按使用次数或按设备生成。

  • 可撤销——可以随时单独撤销令牌,不需要更新未受影响的凭据

  • 有限性——令牌的使用范围严格控制,仅允许执行用例中需要的访问活动

  • 随机性——令牌的复杂度远高于用户设计的简单密码,因此不受暴力破解等行为的影响。

图片

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


工作流程受影响

  • 命令行 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 和第三方集成对所有经过身份验证的操作使用个人访问令牌。

参考链接:

https://github.blog/2020-07-30-token-authentication-requirements-for-api-and-git-operations/

图片

图片

图片

谷歌:开源捐赠需分成,否则下架!

敏捷20周年:一场失败的起义

为什么新一代的Rust、Go等编程语言都如此讨厌if-else、Switch结构

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

这个人很懒,什么都没留下

文章评论