关于github:关于Support-for-password-authentication-报错的解决方案

9次阅读

共计 1937 个字符,预计需要花费 5 分钟才能阅读完成。

良久没有往 Github 提交代码了,明天偶尔提交代码的时候给报了一个 remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. 的谬误,谬误提醒如下。

(yolov4) shl@zhihui-mint:~/shl_res/5_new_project/Yolov4_DeepSocial$ git push origin master
Username for 'https://github.com': shliang0603
Password for 'https://shliang0603@github.com': 
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: unable to access 'https://github.com/shliang0603/Yolov4_DeepSocial.git/': The requested URL returned error: 403
(yolov4) shl@zhihui-mint:~/shl_res/5_new_project/Yolov4_DeepSocial$ 

大略意思就是,你原先的明码凭证从 2021 年 8 月 13 日开始就不能用了,必须应用集体拜访令牌(personal access token),就是把你的明码替换成 token!

为什么要把明码换成 token

上面是 Github 官网的解释:
近年来,GitHub 客户受害于 GitHub.com 的许多平安加强性能,例如双因素身份验证、登录警报、通过验证的设施、避免应用泄露明码和 WebAuthn 反对。这些性能使攻击者更难获取在多个网站上重复使用的明码并应用它来尝试拜访您的 GitHub 帐户。只管有这些改良,但因为历史起因,未启用双因素身份验证的客户仍可能仅应用其 GitHub 用户名和明码持续对 Git 和 API 操作进行身份验证。

从 2021 年 8 月 13 日开始,咱们将在对 Git 操作进行身份验证时不再承受帐户明码,并将要求应用基于令牌(token)的身份验证,例如集体拜访令牌(针对开发人员)或 OAuth 或 GitHub 利用程序安装令牌(针对集成商)GitHub.com 上所有通过身份验证的 Git 操作。您也能够持续在您喜爱的中央应用 SSH 密钥(如果你要应用 ssh 密钥能够参考)。

批改为 token 的益处:

令牌(token)与基于明码的身份验证相比,令牌提供了许多平安劣势:

  • 惟一:令牌特定于 GitHub,能够按应用或按设施生成
  • 可撤销:能够随时独自撤销令牌,而无需更新未受影响的凭据
  • 无限:令牌能够放大范畴以仅容许用例所需的拜访
  • 随机:令牌不须要记住或定期输出的更简略明码可能会受到的字典类型或蛮力尝试的影响

如何生成 token

1,关上 Github,在集体设置页面,找到【Setting】,而后关上找到【Devloper Settting】,如下图。

而后,抉择集体拜访令牌【Personal access tokens】,而后选中生成令牌【Generate new token】。

在上个步骤中,抉择要授予此令牌 token 的范畴或权限。

  • 要应用 token 从命令行拜访仓库,请抉择 repo
  • 要应用 token 从命令行删除仓库,请抉择 delete_repo
  • 其余依据须要进行勾选

而后,点击【Generate token】生成令牌。


生成 token 后,记得把你的 token 保留下来,以便进行前面的操作。把 token 间接增加近程仓库链接中,这样就能够防止同一个仓库每次提交代码都要输出 token 了。

git remote set-url origin https://<your_token>@github.com/<USERNAME>/<REPO>.git
  • <your_token>:换成你本人失去的 token
  • <USERNAME>:是你本人 github 的用户名
  • <REPO>:是你的仓库名称

上面是一个实例:

git remote set-url origin https://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@github.com/shliang0603/Yolov4_DeepSocial.git/
正文完
 0