使用TortoiseGit时如何实现SSH免密码登录
1. Git配置
连接GIT服务器使用的是SSH连接,因此无密码登录,需要使用公钥和私钥。
1) 生成公钥/私钥
在Git Shell中输入ssh-keygen命令,直接回车使用默认路径和文件名,然后提示输入密码的时候,直接回车。
我之所以折腾了好久,就是因为没有使用默认的文件名,导致GIT找不到私钥文件。
2) 发布公钥
将生成的id_rsa.pub,添加到服务器的.ssh/authorized_keys中。
可以使用ftp/scp等方式把文件传到服务器上,然后执行:
cat id_rsa.pub >> .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
注意:要确保authorized_keys的权限是600,如果权限不对,有的SSH服务器会不认这个文件。
如果你使用的GitHub,登录到github,点击右上方的Accounting settings,选择SSH key,点击Add SSH key,把id_rsa.pub中的内容复制过去就可以了。
2. TortoiseGit配置
至此,git已经可以实现免密码登录了。但是使用TortoiseGit时,还是会提示输入密码,因为TortoiseGit使用的密钥与git并不一样,它使用的是putty。要使用刚才生成的密钥,需要进行转换。
1) 生成公钥/私钥
打开“puttygen.exe“,点击”load“,选择刚才上次的私钥文件id_rsa,然后”save private key“保存成ppk文件。
2) 指定使用的私钥
在TortoiseGit的Settings中,指定Putty Key为上一步生成的ppk文件。
这样,TortoiseGit就可以实现免密码登录了。
1.如何生成ssh公钥
你可以按如下命令来生成 sshkey:
ssh-keygen -t rsa -C "xxxxx@xxxxx.com"
# Generating public/private rsa key pair...
# 三次回车即可生成 ssh key
查看你的 public key,并把他添加到码云(Gitee.com) SSH key添加地址:https://gitee.com/profile/sshkeys)
cat ~/.ssh/id_rsa.pub
# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....
添加后,在终端(Terminal)中输入
ssh -T git@gitee.com
若返回
Welcome to Gitee.com, yourname!
则证明添加成功。
注意:git 代码的路径一定是SSH才能实现免密登录,很多人默认使用http方式,会造成每次都会输入密码。