在TortoiseGit中使用SSH host

在TortoiseGit中使用SSH host

2012-12-30更新:修改由于理解错误造成的描述错误

git命令行与OpenSSH

在OpenSSH中,我们可以很方便的通过编辑 ~/.ssh/config 文件来为git指定不同的host,达到使用不同的端口,不同的密钥访问git服务的目的。看看下面这个例子:

192.168.18.18 这台服务器的SSH服务器使用2012端口,我可以使用 git clone git@server18:myrepo.git 来获取我的版本库; 我在bitbucket上有两个帐号 testrelease,需要使用不同的密钥。我可以使用 git clone bitbucket_test:myrepo.gitgit clone bitbucket_release:myrepo.git 来获取。

 1host server18
 2    HostName 192.168.18.18
 3    port 2012
 4    IdentityFile ~/.ssh/server18
 5
 6host bitbucket_test
 7    HostName bitbucket.org
 8    port 22
 9    User git
10    IdentityFile ~/.ssh/bitbucket_test
11    
12host bitbucket_release
13    HostName bitbucket.org
14    port 22
15    User git
16    IdentityFile ~/.ssh/bitbucket_release

TortoiseGit与PuTTY

TortoiseGit怎么办?

在安装TortoiseGit的时候,可以选择使用OpenSSH客户端还是使用Putty客户端。如果使用的是Putty客户端,那么上面的设置不会起作用,我们必须在PuTTY中进行类似的设置。步骤如下:

  1. TortoiseGit并没有自带PuTTY客户端,你需要先去下载一个
  2. Session 界面,设置 Host NamePortSession
  3. Connect->SSH->Auth 界面,设置 Private KeyPrivate Key
  4. 回到 Session 界面,保存 Session。

有了 Session 之后,就可以在TortoiseGit中将这个 Session Name 作为服务器URL连接,如下图:

tortoiseGit setting

我没有找到办法在 Session 设置中找到设置用户名的地方,因此如果Tortoise出现这样的提示:

login name

只需要把URL设置成 git@server18:sg/binary 即可。

参考文章