1

我有三台机器

local (windows)
serverA (linux) with username as userA
serverB (linux) with username as userB

serverB我想使用 TortoiseHg for windows将 hg 存储库克隆到我的本地机器中。机器serverB只能ssh编辑serverA。因此,在 winScp/PuTTY 中,我使用隧道选项serverB通过serverA. 但是我如何在 TortoiseHg 中做到这一点?

显然我不能使用hg clone ssh://userB@serverB://<path to repo>. 但是有没有办法使用多个 ssh 命令`。我尝试了以下方法,但没有奏效:

$cat ~/.ssh/config

host serverB.example.com serverB
    ProxyCommand /usr/bin/ssh serverA.example.com /usr/bin/nc %h %p
4

1 回答 1

2

您有以下选择:

  1. 您可以在 上转发ssh端口serverA.ssh/config添加如下内容:

    host serverBtunnel
       LocalForward    2222 serverB.example.com:22
    

    然后使用以下命令启动隧道(on serverA):

    ssh -N serverBtunnel
    

    在此之后,您可以使用以下命令克隆存储库(从您的 Windows 框中):

    hg clone ssh://userB@serverA:2222//<path to repo>
    
  2. 直接从创建隧道Putty(有关更多详细信息,请参见此处)。基本上:

    • 您将定义隧道并将其添加到serverB定义隧道
    • 然后创建会话serverA(将定义隧道): 在此处输入图像描述
    • 这样,在您的 windows 框中(假设上述会话已启动),您将能够克隆 repo,使用:

      hg clone ssh://userB@localhost:2222//<path to repo>
      
于 2016-01-02T18:45:14.360 回答