Подрывная деятельность через туннель

По работе работаю в закрытой сети. Мы установили несколько IP-адресов, которые доступны только изнутри нашей сети. Однако есть один блок, в который мы можем подключиться по SSH и пройти через него, чтобы добраться до наших соответствующих ящиков для разработчиков.

Я знаю, что могу получить трафик из нашего окна разработчика, используя аргумент -L ssh. Мне было интересно, есть ли способ туннелирования через наш открытый ящик, чтобы попасть в закрытый ящик, где хранится наш репозиторий Subversion (SVN)?

My computer --> Open box --> Developer boxes/SVN repository

Я не могу использовать ssh в поле SVN, но есть ли способ использовать ssh в качестве прокси для доступа к частному ящику Subversion?

ОБНОВЛЕНИЕ:

1.1.1.1 -> Open Box 1.1.1.2 -> SVN Box

Я могу SSH в поле SVN после туннелирования через открытый ящик:

ssh [email protected]
ssh [email protected]

Это позволит мне получить доступ к окну SVN. Я полагаю, ssh в открытый ящик, локальный прямой порт 22 блока SVN на мой порт 22. Таким образом

ssh [email protected] -L 22:1.1.1.2:22

Затем с помощью SVN в командной строке:

svn co svn+ssh://user2@localhost/path

Это возвращает

svn: сетевое соединение неожиданно закрыто

Почему это происходит? Использует ли svn + ssh другой порт, о котором я не знаю?


person tlunter    schedule 14.05.2011    source источник


Ответы (2)


Да, у вас должна быть возможность туннелировать. Я не уверен, подключаетесь ли вы к SVN на работе, используя что-то вроде этого svn co http://..... или что-то вроде этого svn checkout svn://......

Я думаю, вы хотите туннелировать на порт 80 (при использовании через http), порт 443 (при использовании https) и порт 3690, если вы используете только svn (без использования apache). Итак, ваша команда должна выглядеть примерно так

ssh -f [email protected] -L 3690:your.internal.svn.server:3690 -N

Тогда вы сможете проверить / совершить / обновить / и т. Д. Со своего локального хоста, как если бы ваш локальный хост был svn-сервером.

Параметр -f переводит его в фоновый режим, поэтому вы не видите, что терминал застревает в приглашении оболочки общедоступного сервера, когда все, что вам нужно, - это туннелирование. -N запрещает выполнение удаленной команды.

person wilbbe01    schedule 14.05.2011
comment
Я использую svn co svn + ssh: // ip / var / svn / project Если IP-адрес открытого ящика - 1.1.1.1, а сервер svn - 1.1.1.2, я бы сделал ssh -f [email protected] -L 3690: 1.1.1.2:3690 -N? Это по-прежнему ничего не возвращает, когда я пытаюсь оформить заказ с помощью svn co svn + ssh: // localhost / var / svn / project - person tlunter; 15.05.2011
comment
Я думаю, в этом случае вы захотите использовать svn без ssh. Причина в том, что вы уже подключаетесь к сети своей компании через ssh. Однако, если вам все еще нужна часть ssh, я думаю, вам, вероятно, потребуется перенаправить ssh вместо порта svn. - person wilbbe01; 15.05.2011
comment
3690 - это порт svn. Поскольку вы выполняете svn поверх ssh (часть + ssh), вам нужно будет туннелировать к ssh на вашем svn-сервере. Итак, я думаю, что вы хотите попробовать ssh -f [email protected] -L 6000:1.1.1.2:22 -N. Then in your svn+ssh command you'll want to do this command svn + ssh: // localhost: 6000 / repository / path / here / ` - person wilbbe01; 15.05.2011
comment
Это логично, но похоже, что мой сервер не отвечает. Я просто подожду до понедельника, когда буду на работе, чтобы выяснить, как направить свой трафик. Спасибо! - person tlunter; 15.05.2011
comment
Вы всегда можете попробовать использовать ssh без svn в качестве шага по устранению неполадок. Это должно быть легче проверить, поскольку задействовано меньше частей. - person wilbbe01; 15.05.2011
comment
Когда я использую SSH, я получаю закрытие соединения по ip. Я думаю, именно поэтому он не работает. Может быть, SSH закрывается поверх другого SSH? - person tlunter; 15.05.2011
comment
Теперь я могу использовать SSH в открытом окне, а затем я могу SSH в поле SVN. Я попытался использовать ssh [email protected] -L 22: 1.1.1.2: 22, чтобы разрешить использование svn co svn + ssh: // user @ localhost / path, но не удается подключиться с ошибкой: svn: Network connection closed unexpectedly - person tlunter; 17.05.2011

У нас в компании то же самое. За исключением использования VPN для доступа к "внутренней" сети, единственным вариантом, который я могу придумать, будет чтобы пробить дыру в сети, чтобы разрешить доступ к вашему конкретному ящику. Обычно мы создаем виртуальный IP-адрес в netscalar, который указывает на внутренний блок, чтобы защитить внутренний блок от «именованного» воздействия.

Я рекомендую работать с вашей сетевой командой, чтобы создать эту настройку, или, если у вас нет сетевой команды, посмотрите настройки маршрутизатора, чтобы создать это соединение.

person cmutt78    schedule 14.05.2011
comment
Видите ли, я работаю технической командой в университете, поэтому я могу создать все, что мне нужно. Преимущество небольшой группы технических специалистов заключается в том, что, когда мы разрабатываем для закрытой работы, мы можем настраивать виртуальные машины, как захотим. Не нужно проходить через несколько человек. Я надеялся попытаться заставить это работать, больше не связываясь с настройками сервера. Надеюсь, я скоро смогу заставить его работать. - person tlunter; 15.05.2011