1. 生成ssh密钥(默认在~/.ssh路径生产,id_rsa和id_rsa.pub)
ssh-keygen -t rsa -b 4096 -C "xxx@qq.com"
2. 打开gitlab,在搜索栏搜索ssh,找到SSH Keys,然后添加id_rsa.pub公钥的内容到网页,保存。
3. 打开TortoiseGit/bin路径,找到puttygen.exe,双击,然后点击load,选择全部文件,选择刚刚生成的id_rsa文件,选择Save private key,任意名字即可。
打开后保存为private.ppk。
4. 打开TortoiseGit/bin路径,找到pageant.exe,双击,开启该程序,因为只有 pageant 正常运行,才可以免密码登录,所以最好把它设为开机自启,并自动加载 ppk 文件,否则每天上班开机后就得手动去起,会很痛苦。
快捷方式:
1)右击 pageant.exe ,然后生成快捷方式。
2)右击快捷方式,在目标的地方,把含有私钥信息的 ppk 文件路径追加上去,注意是追加。
例如我的是:
D:\eng\TortoiseGit\bin\pageant.exe D:\Users\tanyy\.ssh\private.ppk
5. 在项目中右击打开小乌龟的设置,选择Git->远端->origin,然后在Putty密钥添加刚刚的xxx.ppk文件。
6. 右击项目属性,选择网络,在SSH客户端中添加gitbash的ssh路径,例如我的是:D:\eng\gitbash\Git\usr\bin\ssh.exe
那么,此时推送或者拉取代码就不需要再输入密码了。
注意,如果还是不能推送或者免密,请重新删除密钥,从头开始试试,我一开始就是不行,后面重新执行一遍好了。