听说你的 Git 从 HTTPS
换成 SSH
之后,小乌龟(ToroiseGit)不能用啦?
如果你的 Git 仓库之前 HTTPS
协议用的好好的,换成 SSH
之后,小乌龟不能用了,提示认证失败,原因很可能是 ToroiseGit 对 SSH 协议支持的问题。
原因如下:
全文引用如下:
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的安装目录下)。
原文链接: https://blog.jgrass.cc/posts/tortoise-git-ssh/
本作品采用 「署名 4.0 国际」 许可协议进行许可,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。