Geek0ne | 极客时空 | 极客IT技术栈

Git无法推送到远程仓库 报错: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

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

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

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

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

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

二、在Git Bash中使用令牌

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

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

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »