git 无法进行项目推送的原因及解决方法

2026-03-06 04:23:59

1、原因分析:

在Github for Windows默认的安装配置中,SSH的配置文件ssh_config中的“IdentityFile“与实际情况不相符。

       a、查看SSH配置文件ssh_config,

       路径为:C:\Users\xxx\AppData\Local\GitHub\PortableGit_6d98349f44ba975cf6c762a720f8259a267ea445\etc\ssh

      b、密匙文件的存放路径:

      C:\Users\xxx\.ssh

/*xxx表示本机用户名*/

      查看SSH的配置文件ssh_config,发现其中的“IdentityFile”这项信息的内容是“~/.ssh/github_rsa”而实际上,通过命令“ssh-keygen”生成的新的SSH密匙的全路径名为:“~/.ssh/id_rsa”和“~/.ssh/id_rsa.pub”。

       如上所述,SSH的的配置文件ssh_config中的“IdentityFile”项的值与实际新创建的密匙全路径名不相符,结果导致本地的SSH工具无法找到到正确的密匙,进而无法同已经上传到Github密匙相匹配,结果就出现了“Permission denied (publickey)”这样的错误。

2、解决方法:

1、重装Github for windows

      重装后的密匙文件的存放路径(C:\Users\Administrator\.ssh)下,有四个密匙文件,分别是github_rsa和github_rsa.pub,id_rsa和id_rsa.pub,

这样,用户就不用自己新建密匙文件了,只用将“github_rsa.pub”中的内容上传到Github网站的个人SSH管理中即可。

2、手动修改SSH的配置文件ssh_config中的“IdentityFile”字段。

     在生成新的密匙文件后,若新生成的密匙文件名字为“id_rsa”,则将ssh_config配置文件中的“IdentityFile”项的值改为“~/.ssh/id_rsa”

3、手动修改新生成的密钥文件名。

     将新生成的密匙文件名字改为“github_rsa”,从而与ssh_config配置文件中的“IdentityFile”项的值相同。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢