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

在GitHub Pages部署React应用报权限错误与仓库不存在提示如何解决?

git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

问题产生原因
  • 本地设备未生成SSH密钥,或生成的SSH公钥未添加到你的GitHub账户的可信密钥列表中,GitHub无法识别当前操作的身份
  • 本地项目配置的远程仓库地址使用SSH协议,但当前使用的SSH密钥对没有对应仓库的读写权限,比如仓库归属其他账户、你未被赋予协作权限
  • 本地SSH代理未加载对应私钥,认证时无法读取到正确的密钥信息
  • 使用gh-pages工具部署时,package.json内的仓库地址、homepage配置填写错误,指向了不存在或无权限的仓库
解决方法
  • 首先验证本地SSH与GitHub的连通性,执行命令:
    ssh -T git@github.com
    若返回Hi 你的GitHub用户名! You've successfully authenticated...则代表连通正常,否则需要配置SSH密钥
  • 若连通失败,生成新的SSH密钥,执行命令:
    ssh-keygen -t ed25519 -C "你的GitHub注册邮箱"
    老旧系统不支持ed25519算法的话替换为:
    ssh-keygen -t rsa -b 4096 -C "你的GitHub注册邮箱"
    执行过程中一路回车即可,无需设置密码
  • 打开用户目录下的.ssh文件夹,找到后缀为.pub的公钥文件,复制全部内容,进入GitHub账户的设置页,找到「SSH and GPG keys」选项,新建SSH密钥,将复制的公钥粘贴保存即可
  • 重新执行连通测试确认生效后,检查项目的远程仓库配置,执行命令:
    git remote -v
    确认返回的仓库地址是你有权限操作的目标仓库,若地址错误可执行命令修改:
    git remote set-url origin git@github.com:你的GitHub用户名/目标仓库名.git
    不想使用SSH的话也可以替换为HTTPS地址:
    git remote set-url origin https://github.com/你的GitHub用户名/目标仓库名.git
  • 若使用gh-pages包部署,检查package.json中的homepage字段是否填写正确,格式为https://你的GitHub用户名.github.io/目标仓库名
  • 临时规避方案:执行命令将所有SSH协议的git请求强制转为HTTPS协议,后续用GitHub个人访问令牌认证即可:
    git config --global url."https://github.com/".insteadOf git@github.com:

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 22:24:00