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

Github SSH仓库推送报Permission denied (public key)问题咨询

Git push SSH公钥报错解决方案

问题根因

你当前第二个仓库的远程地址使用SSH协议进行身份验证,而你本地未配置关联GitHub账号的SSH公钥,因此触发权限报错;第一个仓库使用HTTPS协议,走令牌/账号验证流程,所以可以正常推送。

解决方案(二选一即可)

方案1:切换为HTTPS协议(操作更简单,和第一个仓库配置一致)

  • 进入第二个仓库的本地根目录,执行修改远程地址命令:
    git remote set-url origin https://github.com/myloginname/XXX/PQRS.git

注意:将上述命令中的地址替换为你自己第二个GitHub仓库的实际HTTPS地址,可以在GitHub对应仓库的「<> Code」下拉框中选择HTTPS后复制获取。

  • 验证配置是否生效,执行:
    git remote -v
    确认返回的origin fetch和push地址均为HTTPS开头即可。
  • 后续执行git push origin即可正常推送,验证身份时GitHub账号密码栏的密码位置,填写你生成的GitHub个人访问令牌(PAT)即可。

方案2:配置SSH公钥,保留SSH协议

  • 检查本地是否存在已有SSH公钥:
    • Mac/Linux执行:ls ~/.ssh
    • Windows查看目录:C:\Users\你的用户名\.ssh
      如果目录下存在id_ed25519.pub或者id_rsa.pub文件,直接使用即可;如果不存在,执行命令生成新密钥:
      ssh-keygen -t ed25519 -C "你GitHub绑定的邮箱地址"
      全程按回车保持默认配置即可。
  • 打开公钥文件,复制文件内全部内容,进入GitHub账号设置页,找到「SSH and GPG keys」选项,点击「New SSH key」,将复制的公钥内容粘贴后保存。
  • 验证SSH连接是否生效,执行:
    ssh -T git@github.com
    如果返回Hi 你的GitHub用户名! You've successfully authenticated...即代表配置成功。
  • 回到仓库目录执行git push origin即可正常推送。

注意事项

修改远程地址时请替换为你自己仓库的真实地址,不要直接使用示例中的占位符内容。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 23:57:04