Туннель SVN-SSH через 3-ю машину? - PullRequest
1 голос
/ 26 апреля 2011

У меня есть клиент с настроенным SVN + SSH, к которому мне нужен доступ. К сожалению, я не могу внести свой IP в белый список, потому что я нахожусь на Comcast, и у них есть некоторая политика безопасности против этого. Однако у меня есть SSH-доступ к другой машине, к которой я могу подключиться по SSH, а также SSH к серверу SVN (через нестандартный порт) ... Таким образом, общий цикл должен выглядеть следующим образом:

Local Computer (OSX)  --SSH-->  Server1  --SVN+SSH_4567-->  SVN Server

Я знаю, как настроить основные SSH-туннели, но я не уверен, как это настроить, или, если это вообще возможно. Помогите? :)

Обратите внимание, что в идеале , я могу установить это как-то в ~/.ssh/config и ~/.subversion/config, и мне не придется вручную туннелировать от A-> B-> C каждый раз, когда я хочу сделать коммит / обновление

Ответы [ 2 ]

3 голосов
/ 26 апреля 2011
ssh -L 1234:svnserver:4567 server1

Туннельное соединение будет

ssh -p 1234 localhost

Для некоторой автоматизации вы можете добавить туннельное соединение к ~/.subversion/config:

[tunnels]
tssh = ssh -p 1234

, а затем используйте svn+tssh://localhost/path/to/repo, но я не знаю способа автоматизировать создание туннеля.

1 голос
/ 26 апреля 2011

Откройте сеанс SSH для Server1 и настройте туннелирование в этом сеансе:

ssh server1 -L 9000:127.0.0.1:svnserver:22

PS. Возможно, вы захотите проверить страницу ssh man на синтаксис. Я не помню правильные флаги для открытия туннеля.

А затем локально вы подключаетесь к серверу, используя svn+ssh://localhost:9000

...