社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

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

马哥Linux运维 • 3 年前 • 392 次点击  

近日,代码托管平台 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 和第三方集成对所有经过身份验证的操作使用个人访问令牌。

参考链接:

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

文章转载:CSDN(ID:CSDNnews)
(版权归原作者所有,侵删)

点击下方“阅读原文”查看更多

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/118855
 
392 次点击