Windows下使用TortoiseGit的无法直接使用linux ssh-key的解决方案

写此文章的重要原因是很多人在windows下使用TortoiseGit时觉得无法直接和Linux系统共用一个密钥对

究其原因是TortoiseGit默认使用PuTTY格式的ssh-key,和linux系统的ssh-key格式不一样,如果要想使用

就必须使用key格式转换工具进行相应的转换才可以使用,那么有没有其它更为便捷的方式了,当然是的有

那就是直接更改TortoiseGit调用的ssh客户端,让其直接使用和linux系统一致的ssh客户端,也即

git-for-windows所提供的ssh客户端,具体操作如下:

 

TortoiseGit设定——>network选项——>ssh客户端

将默认值C:\Program Files\TortoiseGit\bin\TortoisePlink.exe

修改为C:\Program Files\Git\usr\bin\ssh.exe

 

顺便说一下使用git-for-windows所提供的git bash生成ssh key的操作:

打开git bash,输入ssh-keygen.exe -t rsa -C “email” 如果不想使用密码短语的话,

一路回车会自动生成ssh密钥对文件,密钥文件默认保存路径C:\Users\User_name.ssh,

打开gitlab个人settings的的sshKeys页面,将刚刚生成的id_rsa.pub文件中的内容

复制到Key输入框中,点击”ADD SSH KEY”添加新公钥,

 

顺便再说一下ssh-keygen静默生成key的方式

 

放在脚本中使用比较方便

ssh-keygen.exe -t rsa -N ‘‘ -C “email” -f .ssh/key_name

 

不会询问密钥的密码短语

不会询问密钥文件的保存位置

当然如果key_name已经存在,会有是否覆盖的提示信息

 

上术使用方法中的几个选项的释义:

-t 指定加密算法

-N ‘‘ 指定密钥的密钥短语为空

-C 注释信息 一般填写邮箱名称 或者 有标识性的字符串

-f 要保存生成密钥文件的路径以及key的文件名 此处的文件名不需要指定扩展名

因为有公钥和密钥两个文件产生,都会使用这个文件名

 


使用心得,喜欢的可以点赞+收藏!