Меня попросили настроить VisualSVN для Visual Studio 2008.
Из-за ограничений брандмауэра и конфигурации сервера. Мне нужно использовать SSH туннелирование .
Моя проблема заключается в следующем:
Локальный компьютер должен подключиться к компьютеру-шлюзу через ssh, а затем подключиться к серверу Subversion, поэтому
Local machine ---{ssh}--- gateway ---{ssh}-- Subversion server
Я не совсем уверен в правильном процессе, чтобы сделать это.
Похоже, я должен запустить процесс ssh, используя plink , чтобы открыть локальный порт и перенаправить его на удаленный сервер Subversion.
Например: plink user@gateway -L 22:192.168.1.1:22
Затем, когда VisualSVN запускается, он использует Tortoiseplink , чтобы установить фактическое соединение с сервером Subversion, используя svn+ssh://username@localhost:22/myrepo
Это кажется очень неуклюжим.
Во-первых, для настройки соединения требуется несколько шагов.
Во-вторых, мне нужно запустить plink , который оставляет командную строку на рабочем столе (clutter = yuck).
Наконец, мне нужно использовать две разные программы, которые делают одно и то же. ( plink + tortoiseplink )
Проблема в том, что tortoiseplink не работает в фоновом режиме. Как только я подключаюсь к шлюзу ssh и ввожу пароль, он снова закрывается. Поэтому я не могу использовать его для создания начального соединения.
Если я использую plink вместо tortoiseplink в VisualSVN, мне никогда не будет предложено ввести пароль. Так что он просто зависает с открытой командной строкой и без запроса пароля.
Есть ли способ настроить VisualSVN, чтобы все происходило в одной командной строке?
Я искал подходящие и чистые способы туннелирования от VisualSVN к удаленному серверу и нашел очень мало. Все это либо предполагает один переход (а не два, как мой), либо затушевывает все жесткие биты.
Как VisualSVN работает с несколькими хранилищами на разных серверах? Похоже, вам нужно использовать одну и ту же командную строку ssh для каждого проекта, что означает только один хранилище. или хотя бы только один хост!