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生成的私钥的更多相关文章

  1. TortoiseGit使用SSH

    Windows TortoiseGit使用SSH连接 1 找到TortoiseGit自带的Puttygen工具 2.1 如果未生成过SSHKey,选择Generate(生成的过程中记得移动鼠标) 2. ...

  2. Centos6架设GIT服务,windows客户端使用TortoiseGit加载KEYGEN连接GIT服务器

    前几天得空,想起前一阵学了GIT还没好好实践,就在虚拟机中安装测试了一下,并简单记录了CENTOS6中GIT安装,ssh-keygen生成,客户端使用TortoiseGit加载KEYGEN连接GIT服 ...

  3. 如何在TortoiseGit中使用ssh-keygen生成的key

    再windows 用TortoiseGit 时,git clone 项目时 提示 "Couldn't load this key (OpenSSH SSH-2 private key),如下 ...

  4. Windows下生成 公钥 私钥以及 配置 Filezilla中的 SFTP的私钥

    Win下需要使用到 PuTTYgen.exe来生成公钥私钥,可以参考youtube的这篇文章:  为 SFTP 保管箱生成 Secure Shell (SSH) 密钥对 PuTTYgen.exe的下载 ...

  5. 批量SSH key-gen无密码登陆认证脚本

    SSH key-gen无密码登录认证脚本 使用为了让linux之间使用ssh不需要密码,可以采用了数字签名RSA或者DSA来完成.主要使用ssh-key-gen实现. 通过 ssh-key-gen 来 ...

  6. 批量SSH key-gen无密码登陆认证脚本 附件脚本

    # 批量实现SSH无密码登陆认证脚本 ## 问题背景 使用为了让linux之间使用ssh不需要密码,可以采用了数字签名RSA或者DSA来完成.主要使用ssh-key-gen实现. 1.通过 ssh-k ...

  7. 使用OpenSSL为支付宝生成RSA私钥

    通过openssl工具生成RSA的公钥和私钥(opnssl工具可在互联网中下载到,也可以点此下载无线接口包,里面包含此工具)打开openssl文件夹下的bin文件夹,执行openssl.exe文件: ...

  8. openssl mac中使用终端生成RSA私钥和公钥文件

    RSA密钥生成命令生成RSA私钥openssl>genrsa -out rsa_private_key.pem 1024生成RSA公钥openssl>rsa -in rsa_private ...

  9. ssh调试及指定私钥

    1.ssh调试 ssh -vT username@ip[or hostname] T表示测试,v显示详细信息 也可以配置config文件(在~/.ssh/config)指定用户名和密码 如 [gerr ...

随机推荐

  1. RAC常见的宏

    1. RAC           作用:用来给某个对象的某个属性绑定信号,只要产生信号内容就会把内容给属性赋值            RAC(_label, text) = _textField.ra ...

  2. 【C/C++】链表/ListNode/数据结构

    vector的操作 添加元素: 向尾部添加一个元素 vector<int> a; a.push_back(1); 向尾部添加多个元素 -向尾部添加x个同样的元素: a.insert(a.e ...

  3. 【Linux】【CentOS7】免密登录突然失效

    [报错解决]免密登录突然失效 哔哩哔哩 萌狼蓝天 博客:萌狼工作室-博客园 [问题描述] 原本配置好了的免密登录,今天启动hadoop发现免密登录失效了 [解决方案] 1.切换到管理员模式,进入配置文 ...

  4. git push大文件失败(write error: Broken pipe)完美解决

    问题 在使用git push推送大文件(超过了100MB)到GitHub远程仓库时提示异常,异常信息如下: fatal: sha1 file '<stdout>' write error: ...

  5. log4j漏洞的产生原因和解决方案,小白都能看懂!!!!

    核弹级bug Log4j,相信很多人都有所耳闻了,这两天很多读者都在问我关于这个bug的原理等一些问题,今天咱们就专门写一篇文章,一起聊一聊这个核弹级别的bug的产生原理以及怎么防止 产生原因 其实这 ...

  6. ts配置项

    { "compilerOptions": { /* 基本选项 */ "target": "es5", // 指定 ECMAScript 目标 ...

  7. MVCC详解

    参考: https://blog.csdn.net/SnailMann/article/details/94724197 https://blog.csdn.net/DILIGENT203/artic ...

  8. 可恶的Math.random()

    生成随机数1-10   (包含1和10) 结果是这样的:Math.floor(Math.random()*10+1)  那么问题又来了 Math.floor(Math.random()*10)生成的只 ...

  9. Excel.CurrentWorkbook数据源(Power Query 之 M 语言)

    数据源: 任意超级表 目标: 将超级表中的数据加载到Power Query编辑器中 操作过程: 选取超级表中任意单元格(选取普通表时会自动增加插入超级表的步骤)>数据>来自表格/区域 M公 ...

  10. 十年后回到百年前?(Excel技巧集团)

    在单元格里输入日期,有时可以偷懒,比如明年的日期可以输入至少一位的年+横杠(或斜杠)+至少一位的月+横杠(或斜杠)+至少一位的日,也就是"21-1-1",单元格里就会自动显示&qu ...