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

推送全新GitHub仓库时出现Permission denied (publickey)错误如何解决?

错误根因

该报错为SSH公钥身份验证失败导致,和本地仓库文件无关,因此删除本地仓库重试无法解决问题。绝大多数过时方案仍推荐使用RSA算法生成密钥,而目前GitHub已经停止支持加密强度不足的SHA-1格式RSA密钥,是旧方案失效的核心原因。

分步解决方案
  • 检查本地是否存在可用SSH密钥
    执行命令ls -al ~/.ssh(Windows系统可在资源管理器地址栏输入%USERPROFILE%\.ssh直接打开对应目录),确认是否存在id_ed25519(私钥文件)和id_ed25519.pub(公钥文件),存在则直接跳过生成密钥步骤。
  • 生成符合GitHub要求的新SSH密钥
    执行命令ssh-keygen -t ed25519 -C "你的GitHub账户绑定的邮箱地址",全程按回车即可,不需要额外设置密码的话直接留空确认。
  • 绑定公钥到GitHub账户
    执行命令cat ~/.ssh/id_ed25519.pub,完整复制输出的所有公钥内容。打开GitHub账户的Settings→Access→SSH and GPG keys页面,点击New SSH key,自定义填写标题后将复制的公钥内容粘贴到对应输入框保存即可。
  • 验证SSH连接有效性
    执行命令ssh -T git@github.com,如果返回Hi 你的GitHub用户名! You've successfully authenticated, but GitHub does not provide shell access.则说明身份验证已经成功。
  • 确认本地仓库远程地址配置正确
    进入本地仓库目录执行git remote -v,检查origin的地址是否为git@github.com:你的用户名/仓库名.git格式的SSH地址,如果是https开头的地址,可以执行命令git remote set-url origin git@github.com:你的用户名/仓库名.git修改为SSH格式,之后即可正常执行推送操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.16 06:45:04