问题
无法使用TortoiseGit push远程仓库,但是使用Git Bash命令正常,提示如下错误。
TortoiseGitPlink Fatal Error No supported authentication methods available(server sent: publickey)
原因
这个问题的核心原因在于:TortoiseGit 默认使用的 SSH 客户端与 Git Bash 不同。
-
Git Bash 使用的是
ssh.exe,它读取的是标准的 OpenSSH 密钥(通常是~/.ssh/id_rsa)。 -
TortoiseGit 默认使用的是
TortoiseGitPlink.exe(一个基于 PuTTY 的工具),它无法识别 OpenSSH 格式的密钥,需要专门的.ppk格式密钥-3-8。
这就解释了为什么你的 Git Bash 可以正常工作,而 TortoiseGit 却提示找不到认证方法。
解决方法
这个方法可以让 TortoiseGit 直接使用和 Git Bash 完全相同的配置和密钥,无需任何转换。
1、打开 TortoiseGit 的设置界面。可以在任意文件夹空白处右键,选择 TortoiseGit -> Settings。
2、在设置窗口中,导航到 Network 选项卡。
3、找到 SSH Client 这一项,点击其旁边的 Browse 按钮。
4、浏览并选择你 Git 安装目录下的 ssh.exe 文件。常见路径如下(请根据你的实际安装位置选择):
C:\Program Files\Git\usr\bin\ssh.exe
C:\Program Files\Git\bin\ssh.exe
5、点击 OK 保存设置。
