转载地址 https://www.jianshu.com/p/5d89119bece7
git上传下载走的都是ssh 协议,每次上传下载需要密码比较麻烦,配置一下对应的公钥 私匙,
1. 首先我们看一个错误页面,当自己没有配置sshkey的时候,pull或者push代码会有如下的界面。
![](http://upload-images.jianshu.io/upload_images/3479455-38e9e8727dd9aa66.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/443/format/webp)
1
上面这段话的大体意思是在本机中没有找到相应的安全凭证,需要你做一些选择……我们点击取消操作,看看如何解决这个问题。
2.配置SSH Key
SSH的原理我们就不多说了,这里使用的是rsa的非对称的加密算法,验证的机制就是我们本机会生成一对公钥私钥,私钥自己保存,公钥放在gitLab上面。
首先在TortoiseGit的安装目录下的bin文件夹中找到puttygen.exe这个工具,或者在开始菜单搜索这个程序(如果你没有选择安装目录的话默认路径应该是:C:ProgramFilesTortoiseGitin),这个工具是用来生成密钥对的,打开它点击Generate,然后鼠标在进度条下方不停的晃动,几秒后就会生成密钥对,点击Savaprivate key保存私钥到本地(输入一个名字,保存到一个你找的到的文件夹),我一般放在C盘下。不要关闭这个窗口,接下来还会用到。
![](http://upload-images.jianshu.io/upload_images/3479455-9127ec910b40b740.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/436/format/webp)
2打开GitLab,找到Profile settings(右上角)下的SSH keys选项,选择Add SSH Key,Title输入框里输入一个名称(随便写,或者不写自动生成一个),然后把上面生成的以ssh-rsa开头的一长串密钥复制到Key输入框,点击Add Key保存。
![](http://upload-images.jianshu.io/upload_images/3479455-7cfbb52311d3e6b0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/558/format/webp)
3
![](http://upload-images.jianshu.io/upload_images/3479455-c8dd4315c5f4126f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/558/format/webp)
4到这里SSH Key就配置成功了,刚才生成密钥对的窗口可以关闭了。
3.在本地项目中配置SSH Key
在项目的文件夹上右击鼠标,选择TortoiseGit—Settings—Remot,
因为我用的是汉化版本,所有文字介绍略有差异,在PuttyKey后选择刚才保存到本地的私钥,然后点击应用。
![](http://upload-images.jianshu.io/upload_images/3479455-6b68155d9157acc2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/558/format/webp)
5设置SSH客户端,选择Network选项,在下面的SSH Client选项中选择TortoiseGit的安装目录下bin文件夹中的TortoiseGitPlink.exe程序,
如果已经默认选中,直接确定就可以了。
![](http://upload-images.jianshu.io/upload_images/3479455-20965567d88741fd.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/558/format/webp)
6在Pull或Push项目的时候,记得勾选AutoloadPutty Key选项。
![](http://upload-images.jianshu.io/upload_images/3479455-57d5d6ec6101c3e2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/511/format/webp)