转载文章 , 原文地址 :https://blog.zengrong.net/post/use_ssh_host_in_tortoisegit/
1. git命令行与OpenSSH
在OpenSSH中,我们可以很方便的通过编辑 ~/.ssh/config 文件来为git指定不同的host,达到使用不同的端口,不同的密钥访问git服务的目的。看看下面这个 例子:
192.168.18.18 这台服务器的SSH服务器使用 2012 端口,我可以使用 git clone git@server18:myrepo.git 来获取我的版本库; 我在bitbucket上有两个帐号 test 和 release,需要使用不同的密钥。我可以使用 git clone bitbucket_test:myrepo.git 和 git clone bitbucket_release:myrepo.git 来获取。
host server18
HostName 192.168.18.18
port 2012
IdentityFile ~/.ssh/server18
host bitbucket_test
HostName bitbucket.org
port 22
User git
IdentityFile ~/.ssh/bitbucket_test
host bitbucket_release
HostName bitbucket.org
port 22
User git
IdentityFile ~/.ssh/bitbucket_release
2. TortoiseGit与PuTTY
那 TortoiseGit 怎么办?
TortoiseGit 下载地址 :https://tortoisegit.org/
在安装 TortoiseGit 的时候,可以选择使用 OpenSSH 客户端还是使用 Putty 客户端。如果使用的是 Putty 客户端,那么上面的设置不会起作用,我们必须在 PuTTY 中进行类似的设置。步骤如下:
1. 先使用 Git Bash 生成 SSH 公私钥
-
随便找个文件夹右击鼠标 ,选择 GIt Bash Here
-
使用 ssh-keygen 命令创建公私钥
ssh-keygen -t rsa -C "邮箱地址"
-
然后输入 密钥文件的名字 、密钥文件的打开密码、确认密码
-
这时当前目录下就有两个文件了
-
然后去到 C:\Users\用户名 下查看是否有生成一个 .ssh 文件夹
-
如果没有就继续执行命令 ssh-keygen -o
-
产生了上述文件夹,则把产生 SSH 文件复制进去
-
然后打开 .pub 文件,将内容复制到 GIT 的 SSH 中,并保存
2. 使用 Git 自带的 PuTTY gen 生成 .ppk 的文件
- 打开 PuTTY gen
- 加载密钥
- 输入密钥的密码
- 保存私钥到 /.ssh/ 目录下
- 生成 .ppk 的私钥即可
3. 使用 PuTTY 添加配置信息
-
TortoiseGit并没有自带PuTTY客户端,你需要先去下载一个。
下载地址 :http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
这个地址有点慢,可以自己去百度好心人放在百度网盘的资源
-
打开 PuTTY
-
在 Session 界面,设置 Host Name 和 Port:
-
在 Connect->SSH->Auth 界面,设置 Private Key:
-
给当前 Session 起个名字,并保存。
-
到这就差不多了,就可以使用 TortoiseGit 拉取代码了,注意拉取的时候需要导入 .ppk 的私钥