推送项目到Github提示Authentication failed报错如何解决
报错核心原因
2021年8月起Github正式禁用了HTTPS协议下的账号密码推送验证,你搜到的"token"本质是Github给你生成的专属访问密码,专门给Git操作仓库用,全程点选操作就能生成,不需要懂复杂技术原理。
分步解决操作
第一步:清除本地存的错误旧凭据
不先清掉旧的错误登录记录,就算你输对了新的验证信息也会被旧记录拦截:
- Windows系统:打开控制面板→用户账户→凭据管理器→Windows凭据,找到所有名称包含
github.com的条目,全部点击删除 - Mac系统:打开启动台→其他文件夹→钥匙串访问,在搜索框输入
github.com,把搜索出的所有相关条目右键删除
第二步:生成专属访问Token(当Git专用密码用)
- 网页端登录你的Github账号,点击右上角个人头像,下拉菜单选最底部的
Settings - 拉到页面最左侧菜单栏最底部,点击
Developer settings - 依次选择
Personal access tokens→Tokens (classic) - 点击页面右上角
Generate new token,下拉选项选Generate new token (classic) - Note栏随便填个备注,比如“个人电脑Git提交用”,方便你后续识别这个token的用途;Expiration栏可以选有效期,怕麻烦直接选
No expiration就是永久有效 - 下方权限勾选区域,找到
repo选项,把前面的勾选框打满,这一个权限就足够你推送个人作品集项目,其他选项不需要勾选 - 拉到页面最底部点击绿色的
Generate token按钮,页面刷新后会显示一串ghp_开头的字符,立刻复制这串字符存到记事本里,这个页面关闭后就再也看不到这串内容,丢了只能重新生成。
第三步:重新推送项目
回到你放项目的终端/命令行窗口,重新执行git push命令,弹出验证提示时:
- 用户名输入框:填你自己的Github账号昵称
- 密码输入框:不要填你平时登录Github的账号密码,直接粘贴刚才复制的
ghp_开头的token字符。注意终端输入密码时不会显示任何星号或者字符,是正常的安全机制,粘贴完直接按回车即可。
常见踩坑提醒
- 复制token的时候不要多选前后的空格,否则会判定验证失败
- 验证成功一次后,系统会自动把凭据存在本地凭据管理器里,后续推送项目不需要重复输入
- 如果Git弹出图形化验证窗口,不要选账号密码登录选项,直接选「使用个人访问令牌」的选项,粘贴token即可
内容的提问来源于stack exchange,提问作者Boby
相关产品推荐
相关产品推荐

