Git命令行使用Personal access token仍提示认证失败如何解决
GitHub HTTPS推送认证失败解决方案
你执行git push时收到的报错信息如下:
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. remote: 更多信息可查阅GitHub官方关于Git操作令牌认证要求的公告 fatal: Authentication failed for 'https://github.com/kartikdolas1997/pbvv-website.git/'
排查解决步骤
- 确认个人访问令牌(PAT)配置有效
- 生成PAT时必须勾选
repo权限组,缺少该权限会导致无法读写仓库内容 - 检查PAT的过期时间,若已过期需重新生成新的令牌,PAT仅在生成时可查看完整内容,丢失后无法找回只能重新生成
- 生成PAT时必须勾选
- 清理本地缓存的旧凭证
本地Git默认会缓存之前输入的账号密码,未清理旧缓存的情况下即使输入新PAT也会认证失败:- Windows系统:打开控制面板→凭据管理器→Windows凭据,删除所有
git:https://github.com相关的条目 - Mac系统:打开钥匙串访问,搜索
github.com,删除对应的互联网密码条目 - Linux系统:直接编辑
~/.git-credentials文件删除github相关配置行,或执行git config --global --unset credential.helper临时关闭凭证缓存
- Windows系统:打开控制面板→凭据管理器→Windows凭据,删除所有
- 重试推送操作
清理完成后回到项目目录执行git push,提示输入账号时填写你的GitHub用户名,提示输入密码时直接粘贴你生成的PAT即可完成认证。 - 可选优化配置
若不想每次推送都输入PAT,可执行对应命令开启本地凭证存储:- Windows系统执行
git config --global credential.helper wincred - Mac/Linux系统执行
git config --global credential.helper store
也可将仓库远程协议从HTTPS切换为SSH,使用SSH密钥完成认证,无需依赖PAT。
- Windows系统执行
内容的提问来源于stack exchange,提问作者Sakthy Rupini
相关产品推荐
相关产品推荐

