Git无法推送到远程仓库 报错:Please use a personal access token instead.

请注意,本文编写于 1280 天前,最后修改于 836 天前,其中某些信息可能已经过时。

Git推送至GitHub报错如下: remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. 从官方文档中寻找答案

0X00 起因

Git本地仓库推送到GitHub上时,一直出现这样一幕:

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: Authentication failed for 'https://github.com/Geek0ne/******.git/'

导致GitHub远程仓库一直无法同步......

0X01排查

推送了还几次还是不行,根据报错提示,又检查了下 password 发现没有没有问题。

根据报错的消息里面,打开更多信息参考网址:

URL:https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/
Title:Token authentication requirements for Git operations (Git 操作的令牌认证要求)

GitHub博客上,该页面有详细的相关说明(Chrome浏览器翻译 /doge)

受影响的工作流程

  • 命令行 Git 访问
  • 使用 Git 的桌面应用程序(GitHub Desktop 不受影响)
  • 直接使用您的密码访问 GitHub.com 上的 Git 存储库的任何应用程序/服务

你今天需要做什么

  • 对于开发人员,如果您现在使用密码对 GitHub.com 的 Git 操作进行身份验证,则必须在 2021 年 8 月 13 日之前通过 HTTPS(推荐)或 SSH 密钥开始使用个人访问令牌,以避免中断。如果您收到警告说您正在使用过时的第三方集成,您应该将您的客户端更新到最新版本。
  • 据官方博客网址说明,需要使用个人访问令牌来替代用户密码。
  • 点击页面中 个人访问令牌
  • 按照页面说明操作即可解决用户验证问题,步骤见下。

0X02解决

一、在GitHub.com上创建令牌

① 登录GitHub账户,右上角点击用户头像——【Settings

设置
设置

②在左侧栏中,点击【Developer settings

开发者设置
开发者设置

③点击【Personal access tokens

个人访问令牌
个人访问令牌

④点击【Generate new token

生成token
生成token

⑤给该令牌描述下相关信息,比如:家中笔记本Win10_Token,完全自定义描述,无要求。

令牌描述
令牌描述

⑥给令牌设定一个有效期/日期,自行应情况设定,我设置的是无日期即长期有效。

令牌有效期
令牌有效期

⑦给用户访问令牌进行权限分配,如果需要从Git Bash 命令行对仓库进行访问的话,图中所示:repoadmin:repo_hook必须勾选的,其它权限按需选择;当然,全部勾选也没问题,前提是你非常熟悉每一项权限在你操作会影响什么。

选择令牌授权范围
选择令牌授权范围

⑧最后生成令牌就可以了。

生成令牌
生成令牌

注意: 生成Token令牌后,请及时复制备份,因为一旦页面刷新,Token密钥值就会消失,那就只能重新创建Token令牌。

二、在Git Bash中使用令牌

拿到生成用的用户访问令牌后,当你在Git Bash 上对远程仓库进行操作变更时,弹出的密码提示框内输入: Your_Token 即PAT令牌的字符串值。

同理,在提示需要输入令牌密钥的输入框,都可以输入令牌密钥。

Comments

添加新评论