remote: Support for password authentication was removed on August 13, 2021.

问题描述

有一段时间没有使用github了,今天提交代码发现无法提交,出现以下提示:

remote: Support for password authentication was removed on August 13, 2021.
// 你原先的密码凭证从2021年8月13日开始就不能用了,必须使用个人访问令牌(personal access token),就是把你的密码替换成token

问题分析

  • github为什么要把密码换成token

我们描述了我们的动机,因为我们宣布了对 API 身份验证的类似更改,如下所示:
近年来,GitHub 客户受益于 GitHub.com 的许多安全增强功能,例如双因素身份验证、登录警报、经过验证的设备、防止使用泄露密码和 WebAuthn 支持。 这些功能使攻击者更难获取在多个网站上重复使用的密码并使用它来尝试访问您的 GitHub 帐户。 尽管有这些改进,但由于历史原因,未启用双因素身份验证的客户仍能够仅使用其GitHub 用户名和密码继续对 Git 和 API 操作进行身份验证。

从 2021 年 8 月 13 日开始,我们将在对 Git 操作进行身份验证时不再接受帐户密码,并将要求使用基于令牌(token)的身份验证,例如个人访问令牌(针对开发人员)或 OAuth 或 GitHub 应用程序安装令牌(针对集成商) GitHub.com 上所有经过身份验证的 Git 操作。 您也可以继续在您喜欢的地方使用 SSH 密钥(如果你要使用ssh密钥可以参考)。

  • 修改为token的好处

令牌(token)与基于密码的身份验证相比,令牌提供了许多安全优势:
唯一: 令牌特定于 GitHub,可以按使用或按设备生成
可撤销:可以随时单独撤销令牌,而无需更新未受影响的凭据
有限 : 令牌可以缩小范围以仅允许用例所需的访问
随机:令牌不需要记住或定期输入的更简单密码可能会受到的字典类型或蛮力尝试的影响

问题解决

登录github -> Setting -> Developer setting -> Personal access tokens -> Generate new token

  • 设置token的有效期,访问权限等

选择要授予此令牌token的范围或权限,90天。
要使用token从命令行访问仓库,请选择repo。
要使用token从命令行删除仓库,请选择delete_repo
其他根据需要进行勾选

生成token之后,在使用git push去提交代码就可以了。

上一篇:关于搭建内网穿透frp 工具心得


下一篇:git如何连接codding。(GitHub相似)