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

Git推送到GitHub认证失败:匿名访问被拒问题排查与解决

Git Push 报错:Anonymous access denied 问题排查与解决

我来帮你搞定这个Git认证失败的问题,这个报错在GitHub禁用密码认证后非常常见,咱们一步步分析解决:

为什么会出现这个错误?

  • GitHub已弃用HTTPS密码认证:从2021年8月开始,GitHub不再支持使用账号密码直接通过HTTPS协议进行Git操作,所以你输入的密码不管对错都会被拒绝,这是最主要的原因。
  • 认证凭证配置错误:即使你想用HTTPS,也需要用个人访问令牌(PAT)替代密码,如果没配置或者令牌权限不足,就会触发这个报错。
  • 仓库权限/地址错误:你输入的<UserName>或<repo-name>可能有误,或者你没有目标仓库的推送权限(比如是别人的私有仓库且未被授权)。

具体解决方法

方法1:用个人访问令牌(PAT)替代密码(快速临时解决)

  1. 生成PAT:登录GitHub后,进入「Settings」→「Developer settings」→「Personal access tokens」→「Tokens (classic)」,点击「Generate new token」。
  2. 配置权限:至少勾选repo权限(私有仓库必备),其他权限按需勾选,然后生成令牌,一定要复制保存好(刷新页面后就看不到了)。
  3. 重新执行推送:再次运行git push -u origin master,当提示输入用户名时填你的GitHub账号,密码部分粘贴刚才生成的PAT即可。

方法2:切换为SSH协议(推荐长期使用)

SSH协议不需要每次输入凭证,更适合日常开发:

  1. 生成SSH密钥:打开终端执行以下命令(替换成你的GitHub绑定邮箱):
    ssh-keygen -t ed25519 -C "your_email@example.com"
    
    一路按回车使用默认设置即可,不需要设置密码(如果需要本地加密可以设置)。
  2. 添加公钥到GitHub:找到生成的公钥文件(Linux/Mac是~/.ssh/id_ed25519.pub,Windows是C:\Users\<你的用户名>\.ssh\id_ed25519.pub),复制里面的全部内容。
  3. 配置GitHub SSH密钥:进入GitHub的「Settings」→「SSH and GPG keys」→「New SSH key」,粘贴公钥内容并保存。
  4. 修改远程仓库地址:执行以下命令替换HTTPS地址为SSH地址:
    git remote set-url origin git@github.com:<UserName>/<repo-name>.git
    
    之后再执行git push -u origin master就可以直接推送,无需输入凭证了。

方法3:检查仓库权限与地址

  • 确认你输入的<UserName>和<repo-name>完全正确,目标仓库确实存在。
  • 如果是他人的私有仓库,确认你已经被添加为协作者;如果没有权限,可以先fork仓库,推送自己的fork版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 07:29:15