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. Android 高级UI组件(三)

    一.popupWindow 1.AlertDialog和PopupWindow最关键的区别是AlertDialog不能指定显示位置,只能默认显示在屏幕最中间(当然也可以通过设置WindowManage ...

  2. Data Calendar

    1.Date对象 Date类在java.util包中.使用Date类的无参数构造方法创建的对象可以获取本地当前时间. 用Date的构造方法Date(long time)创建的Date对象表 示相对19 ...

  3. show processlist命令详解

    1.show processlist; SHOW PROCESSLIST显示哪些线程正在运行.您也可以使用mysqladmin processlist语句得到此信息.如果您有SUPER权限,您可以看到 ...

  4. OpenStack之八: network服务(端口9696)

    注意此处用的一个网络,暂时不用启动第二个网官网地址 https://docs.openstack.org/neutron/stein/install/controller-install-rdo.ht ...

  5. NoSQL之Redis学习笔记

    一.NoSQL与Redis 1.什么是NoSQL? NoSQL=Not Only SQL ,泛指非关系型数据库.随着互联网的兴起,传统的关系型数据库已经暴露了很多问题,NoSQL数据库的产生就是为了解 ...

  6. Vue局部组件和全局组件

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  7. web前段canvasjs图表制作一

    关于web图表制作的方法有很多种,大家可以去网上这里我就介绍我经常使用的一种方法CanvasJS,这也是一款非常容易掌握并且好用的一种方法. 首先可以去网上下载canvasjs.js插件.下载路径:h ...

  8. [MySQL实战-Mysql基础篇]-mysql的日志

    参考文章: https://www.cnblogs.com/f-ck-need-u/archive/2018/05/08/9010872.html https://dev.mysql.com/doc/ ...

  9. 【保姆级教程】Ubuntu18.04+Geforce 980Ti+安装CUDA10.2+Cudnn

    首先感谢师兄的博客!前半部分按照这个照做没有问题! https://www.bilibili.com/read/cv9162965/ 第一步:下载CUDA 在官网下载,查询自己的GPU型号对应的CUD ...

  10. Svelte入门——Web Components实现跨框架组件复用(二)

    在上节中,我们一起了解了如何使用Svelte封装Web Component,从而实现在不同页面间使用电子表格组件. Svelte封装组件跨框架复用,带来的好处也十分明显: 1.使用框架开发,更容易维护 ...