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 命令行
对仓库进行访问的话,图中所示:repo
和admin:repo_hook
是必须勾选的,其它权限按需选择;当然,全部勾选也没问题,前提是你非常熟悉每一项权限在你操作会影响什么。
⑧最后生成令牌就可以了。
注意: 生成Token令牌后,请及时复制备份,因为一旦页面刷新,Token密钥值就会消失,那就只能重新创建Token令牌。
二、在Git Bash中使用令牌
拿到生成用的用户访问令牌
后,当你在Git Bash
上对远程仓库进行操作变更时,弹出的密码提示框内输入: Your_Token
即PAT令牌的字符串值。
同理,在提示需要输入令牌密钥的输入框,都可以输入令牌密钥。