You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

创建GitHub访问令牌并更新Mac钥匙串后push代码仍报错是什么原因?

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.

该报错本质是Git客户端没有读取到你更新后的有效PAT,常见遗漏配置步骤如下:

  • 本地仓库远程协议不匹配PAT生效范围:PAT仅对HTTPS协议的远程地址生效,如果你当前仓库用的是SSH协议的远程地址,PAT不会生效。执行git remote -v查看远程地址格式,如果是git@github.com:开头的SSH地址,你需要单独配置SSH密钥,或者将远程地址切换为HTTPS格式后再使用PAT认证。
  • 钥匙串内存在多条重复的GitHub凭证记录:你可能只更新了其中一条旧凭证,Git读取时仍优先拉取了其他未更新的无效记录。打开Mac「钥匙串访问」应用,搜索github.com,删除所有匹配的「互联网密码」类记录,之后重新执行git push,弹出凭证输入框时用户名填GitHub账号,密码栏填新生成的PAT即可完成重新绑定。
  • Git未配置读取Mac钥匙串的凭证助手:执行git config --global credential.helper查看返回值,如果返回结果不是osxkeychain,说明Git默认不会从钥匙串读取凭证,需要执行git config --global credential.helper osxkeychain完成配置,再重新输入PAT即可生效。
  • 新PAT未配置足够的操作权限:如果你生成的是Classic PAT,必须勾选repo权限才能正常推送代码;如果是Fine-grained PAT,需要给对应仓库开通读写权限,权限不足也会触发该类报错。
  • 全局Git配置中残留了旧密码记录:执行git config --global --list查看是否存在user.password字段,如果有,执行git config --global --unset user.password删除该旧配置,避免Git优先读取该字段的无效密码。

内容的提问来源于stack exchange,提问作者Joey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 21:45:02