Github-Git 操作的令牌认证要求

2020 年 7 月,我们宣布我们打算要求对所有经过身份验证的 Git 操作使用基于令牌的身份验证(例如,个人访问、OAuth 或 GitHub 应用程序安装令牌)。从 2021 年 8 月 13 日开始,我们将在 GitHub.com 上对 Git 操作进行身份验证时不再接受帐户密码。
工作流程受影响

  • 命令行 Git 访问
  • 使用 Git 的桌面应用程序(GitHub Desktop 不受影响)
  • 使用您的密码直接访问 GitHub.com 上的 Git 存储库的任何应用程序/服务
以下客户不受此更改的影响:
  • 如果您为您的帐户启用了双因素身份验证,则您已经需要使用基于令牌或基于 SSH 的身份验证。
  • 如果您使用 GitHub Enterprise Server,我们尚未宣布对我们的本地产品进行任何更改。
  • 如果您维护一个GitHub App,GitHub Apps 不支持密码认证。
背景
【Github-Git 操作的令牌认证要求】我们描述了我们的动机,因为我们宣布了对 API 身份验证的类似更改,如下所示:
近年来,GitHub 客户受益于 GitHub.com 的许多安全增强功能,例如 双因素身份验证、 登录警报、 经过验证的设备、 防止使用受损密码和 WebAuthn 支持。这些功能使攻击者更难以获取在多个网站上重复使用的密码并使用它来尝试访问您的 GitHub 帐户。尽管有这些改进,但由于历史原因,未启用双因素身份验证的客户仍能够仅使用其 GitHub 用户名和密码继续对 Git 和 API 操作进行身份验证。
从 2021 年 8 月 13 日开始,我们将在对 Git 操作进行身份验证时不再接受帐户密码,并将要求使用基于令牌的身份验证,例如个人访问令牌(针对开发人员)或 OAuth 或 GitHub 应用程序安装令牌(针对集成商) GitHub.com 上所有经过身份验证的 Git 操作。您也可以继续在您喜欢的地方使用 SSH 密钥。
与基于密码的身份验证相比,令牌提供了许多安全优势:
  1. 唯一– 令牌特定于 GitHub,可以按使用或按设备生成
  2. 可撤销- 可以随时单独撤销令牌,而无需更新未受影响的凭据
  3. 有限– 令牌可以缩小范围以仅允许用例所需的访问
  4. 随机– 令牌不受您需要记住或定期输入的更简单密码可能会受到的字典类型或蛮力尝试的影响
你今天需要做什么
  • 对于开发人员,如果您今天使用密码对 GitHub.com 的 Git 操作进行身份验证,则必须在 2021 年 8 月 13 日之前通过 HTTPS(推荐)或 SSH 密钥开始使用个人访问令牌,以避免中断。如果您收到警告,提示您使用的是过时的第三方集成,则应将客户端更新到最新版本。
  • 对于集成商,您必须在2021 年 8 月 13 日之前使用网络或设备授权流程对集成进行身份验证,以避免中断。有关更多信息,请参阅授权 OAuth 应用程序和开发者博客上的公告。
启用两因素身份验证
如果您想确保您的帐户不允许基于密码的身份验证,您可以立即为您的帐户启用双因素身份验证。这将要求您通过 Git 和第三方集成对所有经过身份验证的操作使用个人访问令牌。
掉电
为确保所有受影响的客户都知道身份验证更改,在两次预定的断电期间,我们将暂时禁用对密码身份验证的支持,并且使用密码进行的 Git 操作将暂时失败。限电时间安排在以下日期和时间:
2021 年 6 月 30 日
  • 从 7:00 AM UTC – 10:00 AM UTC
  • 从 4:00 PM UTC – 7:00 PM UTC
2021 年 7 月 28 日
  • 从 7:00 AM UTC – 10:00 AM UTC
  • 从 4:00 PM UTC – 7:00 PM UTC
时间线
  • 今天——如果您今天使用密码对 GitHub.com 的 Git 操作进行身份验证,您将很快收到一封电子邮件,敦促您更新身份验证方法或第三方客户端。
  • 2021年6 月 30 日和 7 月 28 日- 所有 Git 操作都将暂时需要令牌(或 SSH 密钥)身份验证,以鼓励受影响的客户更新他们的身份验证方法(见下文)。
  • 2021年8 月 13 日- 所有经过身份验证的 Git 操作都需要令牌(或 SSH 密钥)身份验证。
如果您有任何问题,请参阅相关的 API 密码验证博客文章,了解有关保护帐户安全的更多信息,或联系 GitHub 支持。

    推荐阅读