TortoiseGit使用ssh-keygen生成的私钥

1.说明

使用TortoiseGit自带的PuTTY Key Generator工具,
把ssh-keygen生成的私钥转换为Putty使用的.ppk文件,
然后在拉取Git代码时,
加载对应的.ppk私钥,
就能成功拉取代码。

1.1.背景

为了同时使用TortoiseGit和git bash管理一份Git代码,
虽然大部分时候使用TortoiseGit图形化界面非常方便,
但是有的操作还是需要使用git bash命令行。

使用ssh-keygen生成了对应的私钥和公钥:

C:\Users\yuwen\.ssh\id_rsa
C:\Users\yuwen\.ssh\id_rsa.pub

在git bash上配置并且成功拉取了代码,
但是使用TortoiseGit拉取代却失败了。

1.2.原因

TortoiseGit是通过Putty进行私钥/公钥验证的,
但是只能加载.ppk格式的私钥文件。
如果强制加载ssh-keygen生成的私钥文件,
会出现下面的错误:

Couldn't load this key (OpenSSH SSH-2 private key)

需要把ssh-keygen生成的私钥转换为Putty能够识别的私钥。

1.3.ssh-keygen

OpenSSH提供了实现SSH协议的很多工具。
其中就包含ssh-keygen工具,
可以生成、管理和转换用于认证的密钥和证书。

OpenSSH是SSH协议的开源版本。
使用SSH传输的数据都进行了加密,
比telnet,ftp等明文传输工具更安全。

2.转换私钥

运行TortoiseGit的bin目录下的puttygen.exe工具:



点击Load,选择需要加载的文件,
这里选择ssh-keygen生成的id_rsa私钥:



私钥加载成功,提示保存为Putty私有的格式,
点击确认即可:

工具会显示具体加载到的key:



然后选择Save private key,
弹出告警,提示未设置保护密码,点击是即可:

保存为.ppk格式的私钥:

3.加载新的私钥

在TortoiseGit拉取代码界面:



点击Manage Remotes:



点击Remote下面的origin,
可以看到Git代码对应的URL,

然后在Putty Key选择刚才生成的.ppk文件即可。



点击确定后,继续拉取代码即可成功。

4.考文章

在git与tortoisegit中使用openSSH与PuTTY
如何在TortoiseGit中使用ssh-keygen生成的key
tortoiseGIT ssh方式

你可能感兴趣的:(TortoiseGit使用ssh-keygen生成的私钥)