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

Git Bash执行git push命令遇权限拒绝问题求助

解决Git Push到GitHub时的Permission Denied问题

我之前也碰到过一模一样的情况,咱们一步步来搞定:

首先,你最开始遇到的主机真实性提示是正常现象——这是Git首次连接GitHub时的安全验证环节,输入yes把主机添加到已知列表就没问题,不用纠结这个。真正卡壳的是后面的Permission denied,这说明你的SSH密钥没被GitHub正确识别,导致权限不足。

下面是具体的解决步骤:

  • 第一步:检查本地是否存在SSH密钥
    打开Git Bash,输入这条命令:

    ls -al ~/.ssh
    

    看看输出里有没有id_rsa(私钥)和id_rsa.pub(公钥)这两个文件。如果没有,就需要生成新的密钥对。

  • 第二步:生成新的SSH密钥(若本地没有)
    执行这条命令,把邮箱替换成你GitHub账户绑定的邮箱:

    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    

    按回车确认默认保存路径就行,也可以选择设置密钥密码(直接回车跳过也没问题)。

  • 第三步:将公钥添加到你的GitHub账户
    先复制公钥内容,执行:

    cat ~/.ssh/id_rsa.pub
    

    把输出的全部内容复制下来。然后打开GitHub,进入个人设置(Settings),找到「SSH and GPG keys」选项,点击「New SSH key」,随便填个标题,把复制的公钥粘贴到Key输入框,最后点击「Add SSH key」完成添加。

  • 第四步:测试SSH连接是否正常
    回到Git Bash,输入:

    ssh -T git@github.com
    

    如果看到类似Hi [你的GitHub用户名]! You've successfully authenticated, but GitHub does not provide shell access.的提示,说明SSH连接已经正常了,这时候再执行git push -u origin master应该就能成功推送了。

  • 备选方案:改用HTTPS方式推送
    要是不想折腾SSH密钥,也可以把仓库的远程地址改成HTTPS格式:

    git remote set-url origin https://github.com/你的用户名/你的仓库名.git
    

    之后推送时,GitHub会要求你输入用户名和个人访问令牌(注意:现在GitHub已不支持密码登录,需要在GitHub设置里生成个人访问令牌作为密码使用)。

你遇到的完整错误提示:
The authenticity of host 'github.com (192.30.253.112)' can't be established. RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8. Are you sure you want to continue connecting (yes/no)?
输入yes后:Warning: Permanently added 'github.com,192.30.253.112' (RSA) to the list of known hosts.
随后出现:git@github.com: Permission denied (publickey).

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:53:29