GitHub推送报错:Permission denied及远程仓库读取失败求助
GitHub推送代码时权限被拒的解决方法
报错信息:
Pushing to github.com:xxx/xxxx.git ERROR: Permission to xxx/xxx.git denied to xxx. fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
报错截图:

解决步骤:
检查远程仓库地址
执行git remote -v查看当前绑定的远程仓库地址,确认地址中的用户名是你有权限操作的账号(比如自己的GitHub用户名,而非原仓库作者)。如果地址错误,用git remote set-url origin git@github.com:你的用户名/仓库名.git修改。核对本地Git用户配置
执行git config --list查看user.name和user.email,确保和你GitHub账号的用户名、绑定邮箱完全一致。不一致的话,执行以下命令修改:git config --global user.name "你的GitHub用户名" git config --global user.email "你的GitHub绑定邮箱"验证SSH密钥配置(推荐使用SSH方式)
- 查看本地是否存在SSH密钥:执行
ls -la ~/.ssh,检查是否有id_rsa(私钥)和id_rsa.pub(公钥)文件。 - 若无密钥,生成新密钥:执行
ssh-keygen -t rsa -b 4096 -C "你的GitHub绑定邮箱",全程按回车使用默认配置即可。 - 将公钥添加到GitHub:复制
id_rsa.pub文件内的全部内容,登录GitHub后进入「Settings」→「SSH and GPG keys」,点击「New SSH key」粘贴内容并保存。 - 测试SSH连接:执行
ssh -T git@github.com,若输出Hi 你的用户名! You've successfully authenticated, but GitHub does not provide shell access.则说明配置成功。
- 查看本地是否存在SSH密钥:执行
HTTPS方式需使用个人访问令牌(PAT)
如果你用HTTPS方式推送,GitHub已不再支持密码登录,必须使用个人访问令牌(PAT):- 登录GitHub进入「Settings」→「Developer settings」→「Personal access tokens」→「Tokens (classic)」,点击「Generate new token」。
- 勾选
repo权限,设置过期时间后生成令牌,务必保存好令牌内容(刷新页面后无法再次查看)。 - 推送代码时,用户名填你的GitHub账号,密码填生成的PAT。
确认仓库权限
检查你是否是该仓库的所有者、协作者,或者所属团队拥有推送权限。如果是fork的仓库,要推送到自己的fork仓库,而非原仓库。
内容的提问来源于stack exchange,提问作者Beginnerrrrrr
相关产品推荐
相关产品推荐

