在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上有两个帐号 test
和 release
,需要使用不同的密钥。我可以使用 git clone bitbucket_test:myrepo.git
和 git 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中进行类似的设置。步骤如下:
- TortoiseGit并没有自带PuTTY客户端,你需要先去下载一个。
- 在
Session
界面,设置Host Name
和Port
: - 在
Connect->SSH->Auth
界面,设置Private Key
: - 回到 Session 界面,保存 Session。
有了 Session 之后,就可以在TortoiseGit中将这个 Session Name 作为服务器URL连接,如下图:
我没有找到办法在 Session 设置中找到设置用户名的地方,因此如果Tortoise出现这样的提示:
只需要把URL设置成 git@server18:sg/binary
即可。
参考文章
- 文章ID:1775
- 原文作者:zrong
- 原文链接:https://blog.zengrong.net/post/use_ssh_host_in_tortoisegit/
- 版权声明:本作品采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可,非商业转载请注明出处(原文作者,原文链接),商业转载请联系作者获得授权。