TortoiseGit执行push操作时报私钥加载失败、无可用认证方法错误如何解决?
Git Push 报错解决方案
前置验证
- 确认新生成的公钥已完整添加到远程Git平台(GitHub/GitLab/Gitee等)的SSH密钥配置中,粘贴时不要带入多余空格、换行
- 打开Git Bash执行
ssh -T git@<远程平台域名>(例:ssh -T git@github.com),返回认证成功提示则代表本地密钥与远程平台配置正常
修复TortoiseGit密钥不兼容问题
Couldn't load private key (not a private key)报错核心原因是TortoiseGit默认使用PuTTY的.ppk格式密钥,新生成的OpenSSH格式私钥无法直接适配,按以下步骤操作:
- 启动TortoiseGit配套的PuTTYgen工具(Windows开始菜单搜索PuTTYgen即可找到)
- 点击顶部菜单 Conversions > Import key,选择你本地存放的OpenSSH格式私钥(默认路径为
C:\Users\<你的用户名>\.ssh\id_rsa) - 导入成功后点击 Save private key,将导出的
.ppk格式文件存放到固定路径,建议和原有SSH密钥放在同一目录 - 右键本地仓库文件夹,依次选择 TortoiseGit > Settings > Git > Remote
- 在右侧远程源列表中选择对应要推送的远程仓库(通常为
origin),在Putty Key输入栏选择刚才导出的.ppk文件,点击应用保存
异常排查
如果配置后仍推送失败,检查以下两项:
- 执行
git remote -v查看本地仓库远程地址是否为SSH格式,若为HTTPS格式,执行git remote set-url origin <你的仓库SSH地址>修改 - 如果你使用自定义名称的SSH密钥,需要在
C:\Users\<你的用户名>\.ssh\目录下新建无后缀的config文件,添加如下配置:
Host <远程平台域名> HostName <远程平台域名> User git IdentityFile ~/.ssh/<你的自定义私钥文件名> PreferredAuthentications publickey
内容的提问来源于stack exchange,提问作者Mizanur Rahaman
相关产品推荐
相关产品推荐

