听说你的 Git 从 HTTPS 换成 SSH 之后,小乌龟(ToroiseGit)不能用啦?

如果你的Git仓库之前HTTPS协议用的好好的,换成SSH之后,小乌龟不能用了,提示认证失败,原因很可能是 ToroiseGit 对 SSH 协议支持的问题。

原因如下:

TortoiseGit密钥的配置

全文引用如下:

TortoiseGit使用扩展名为ppk的密钥,而不是ssh-keygen生成的rsa密钥。也就是说使用ssh-keygen -t rsa -C “yourname@yourcompany.com”产生的密钥在TortoiseGit中不能用。而基于github的开发必须要用到rsa密钥,因此需要用到TortoiseGit的putty key generator工具来生成既适用于github的rsa密钥也适用于TortoiseGit的ppk密钥,配置步骤如下:

1、运行TortoiseGit开始菜单中的Puttygen程序

2、点击“Generate”按钮,鼠标在上图的空白地方来回移动直到进度条完毕,就会自动生一个随机的key

3、为密钥设置对应的访问密码,在“Key passphrase”和“Confirm passphrase”的后面的输入框中输入密码

4、将多行文本框中以“ssh-rsa”开头的内容全选、复制,并粘贴到github的 Account Settings -> SSH Keys -> Add SSH key -> Key字段中,这就是适用于github的公钥

5、点击“Save private key”按钮,将生成的key保存为适用于TortoiseGit的私钥(扩展名为.ppk)

6、运行TortoiseGit开始菜单中的Pageant程序,程序启动后将自动停靠在任务栏中,双击该图标,弹出key管理列表

7、点击“Add Key”按钮,将第5步保存的ppk私钥添加进来,关闭对话框即可

更简单的解决方式

更换 ToroiseGit 的 SSH 服务程序

将 SSH 服务程序更换为 Git 原生自带的 ssh.exe
可以之后输入 ssh.exe , 或者该文件的全路径(在Git的安装目录下)。