SSH认证成功但无法push到GitHub仓库,请求排查权限问题
问题分析与解决方法
你遇到的情况大概率是远程仓库未赋予你推送权限,但也存在其他几个常见排查方向,逐一处理:
1. 仓库权限配置问题
这是最直接的原因:
- 确认你是否是目标仓库
somerepo.git的协作者,或是所在团队拥有该仓库的推送权限 - 若为组织仓库,检查组织权限设置,确认你的账号已加入具备推送权限的团队
2. SSH密钥关联账号不匹配
虽然ssh -T github.com认证成功,但需确认当前SSH密钥对应的账号是否拥有somerepo.git权限:
- 执行
ssh-add -l查看当前加载的SSH密钥指纹,对比GitHub账号中已添加的公钥指纹 - 若存在多SSH密钥,可针对该仓库配置独立密钥规则:
在~/.ssh/config中添加:
随后将仓库远程地址修改为Host somerepo-github HostName github.com User git IdentityFile ~/.ssh/你的专属密钥路径somerepo-github:用户名/somerepo.git
3. 远程仓库地址配置错误
检查本地仓库的远程地址是否正确:
- 执行
git remote -v查看当前远程地址,确认格式为git@github.com:用户名/仓库名.git的正确SSH地址 - 若地址错误,执行
git remote set-url origin git@github.com:正确用户名/仓库名.git修正
4. 私有仓库未授权
如果somerepo.git是私有仓库,即便GitHub账号认证成功,无仓库明确推送权限仍会报错,联系仓库管理员添加你为协作者即可。
内容的提问来源于stack exchange,提问作者Jenia Be Nice Please
相关产品推荐
相关产品推荐

