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

Git推送GitHub仓库提示Permission denied权限拒绝问题

问题根因

这个权限报错和你本地git config里配置的user.name、user.email没有关联,这两个配置仅用于标记提交者的署名信息,完全不参与GitHub的权限校验流程。触发问题的核心原因有两个:

  • 你本地仓库关联的远程推送地址是HTTPS协议,而非SSH协议,因此你执行ssh -T git@github.com验证SSH连通性的操作,不会在HTTPS推送流程中生效
  • 你配置了credential.helper=osxkeychain,macOS系统钥匙串中已经缓存了旧账号anka-mimac对应的GitHub HTTPS认证凭据,执行推送时Git会自动读取这个缓存的旧凭据发起权限校验,自然会被目标仓库拒绝。
解决步骤
  • 首先进入本地仓库目录,执行命令确认远程地址类型:
    git remote -v
    如果返回的origin地址以https://github.com/开头,即可确认当前走的是HTTPS认证通道,和你配置的SSH密钥无关。
  • 清理macOS钥匙串中缓存的旧GitHub凭据:
    打开系统自带的「钥匙串访问」应用,在搜索框输入github.com,删除所有搜索结果中和GitHub相关的互联网密码条目,特别是标注关联账号为anka-mimac的条目。
  • 如果你更习惯用SSH方式操作(已验证SSH密钥可用,推荐选择),直接执行命令将远程地址切换为SSH格式,从根源避免HTTPS凭据缓存问题:
    git remote set-url origin git@github.com:ankalk/vue-js-task-tracker.git
    替换完成后再次执行git push,就会走你已经配置好的SSH密钥认证通道,不会再触发旧账号权限报错。
  • 如果你想继续使用HTTPS协议,清理完钥匙串旧凭据后,再次执行git push时系统会弹出认证提示,输入你对目标仓库有写入权限的ankalk账号对应的认证信息即可(注意GitHub已经不支持账号密码认证,需要使用个人访问令牌作为密码输入),认证通过后新的有效凭据会自动存入osxkeychain,后续推送不需要重复输入。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 14:01:15