向GitHub远程仓库推送代码遇403权限拒绝错误求助
GitHub推送代码出现403权限拒绝的排查与解决
错误信息
remote: Permission to Projects/myWebsite.git denied to USER1.
fatal: unable to access 'https://github.com/Projects/myWebsite@systemName-Latitude-ted' URL returned error: 403
可能原因
- 远程仓库URL格式错误:当前地址混入了本地机器标识(systemName-Latitude-ted),导致Git无法正确识别仓库地址,进而触发权限验证失败。
- 本地认证凭据不匹配:系统缓存的凭据对应账号USER1,和你拥有权限的GitHub账号不一致,推送时自动使用了无权限的账号。
- 凭据缓存过期:之前保存的GitHub认证凭据已失效,或者未更新到当前有权限的账号信息。
- 仓库权限未正确配置:即使你认为自己有权限,可能仓库的协作列表里没添加你的账号,或者权限等级不足(比如只有Read权限)。
解决方案
- 修正远程仓库URL
- 查看当前远程地址:
git remote -v - 删除错误的远程配置:
git remote remove origin - 添加正确的仓库地址:
git remote add origin https://github.com/Projects/myWebsite.git
- 查看当前远程地址:
- 更新本地认证凭据
- Windows:打开「凭据管理器」→「Windows凭据」,找到GitHub相关条目删除,重新推送时输入正确的账号或Token。
- macOS:打开「钥匙串访问」,搜索GitHub并删除旧凭据,推送时重新验证。
- Linux:删除
~/.git-credentials文件,或执行git config --global credential.helper unset清除缓存,之后重新认证。
- 切换为SSH协议推送
- 生成SSH密钥:
ssh-keygen -t ed25519 -C "你的GitHub绑定邮箱" - 将
~/.ssh/id_ed25519.pub里的公钥内容添加到GitHub账号的SSH密钥列表中。 - 修改远程地址为SSH格式:
git remote set-url origin git@github.com:Projects/myWebsite.git
- 生成SSH密钥:
- 确认仓库协作权限
登录GitHub进入目标仓库,查看「Settings」→「Collaborators and teams」,确保你的账号在列表中且拥有「Write」及以上权限。
内容的提问来源于stack exchange,提问作者Vijay raj panchal
相关产品推荐
相关产品推荐

