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的文件名 此处的文件名不需要指定扩展名
因为有公钥和密钥两个文件产生,都会使用这个文件名
 
使用心得,喜欢的可以点赞+收藏!

猜你喜欢

转载自blog.51cto.com/183530300/2155169