Git推送报错Permission denied(publickey)求助:SSH验证已通过
解决Git Push到GitHub时的公钥权限拒绝问题
检查远程仓库SSH地址正确性
- 执行
git remote -v查看当前远程仓库地址,确认是git@github.com:<用户名>/<仓库名>.git格式,避免是HTTPS地址或用户名拼写错误的地址。若地址错误,执行git remote set-url origin git@github.com:<你的用户名>/<你的仓库名>.git修正。
确认SSH密钥与GitHub账户的绑定
- 登录GitHub账户,进入Settings > SSH and GPG keys,核对
ssh-add -l -E sha256输出的公钥指纹是否在列表中。若未找到,复制本地公钥文件(通常是~/.ssh/id_rsa.pub或对应密钥的.pub文件)内容,添加到GitHub的SSH密钥列表。
强制Git使用指定SSH密钥
- 若本地存在多个SSH密钥,Git可能未选用正确的密钥。可在项目目录下创建或编辑
~/.ssh/config文件,添加以下配置:Host github.com HostName github.com User git IdentityFile ~/.ssh/你的密钥文件名(例如id_rsa) - 保存后重新执行
ssh -T git@github.com验证,确认使用的是目标密钥。
检查SSH代理与密钥加载状态
- 执行
ssh-add -L确认密钥已被加载,若未加载,执行ssh-add ~/.ssh/你的密钥文件名手动添加。macOS用户需检查钥匙串中SSH密钥的访问权限,确保终端有权限访问该密钥。
验证仓库权限设置
- 确认当前GitHub账户拥有该仓库的推送权限(如仓库所有者、协作者,或所属团队有写入权限),若无权限,联系仓库管理员添加。
内容的提问来源于stack exchange,提问作者jeff
相关产品推荐
相关产品推荐

