Назад | Перейти на главную страницу

Туннель SSH «Клиент -> Брандмауэр -> Сервер1 -> Сервер1.2»

Мне нужно сделать туннель от клиентского ящика к серверу. Проблема в том, что между ними 2 прямоугольника:

CLIENT --- FIREWALL ---{ SERVER1 --- SERVER1.2 }

CLIENT ============================= SERVER1.2

Я знаю, как это сделать, когда между ними всего одна коробка:

CLIENT --- FIREWALL ---{ SERVER1 }

CLIENT ==================SERVER1

Из клиентского ящика:

ssh -l **user_firewall** -L 8112:**server1_ip**:22 **firewall_ip** cat -

А потом :

ssh -C -c arcfour256 localhost -l **user_server1** -p 8112

Кто-нибудь может дать некоторое представление об этой проблеме. Если вам нужна дополнительная информация, я с радостью предоставлю ее.

Я был бы склонен использовать ProxyCommand - если у вас установлен netcat на промежуточных ящиках, вы можете в принципе пропустить столько слоев, сколько вам нужно.

Я мог бы привести вам пример, но тот, что в ssh_config(5) справочная страница отлично справляется со своей задачей.

Наконец, у меня это заработало. Спасибо @womble!

Я изменил /.ssh/config:

Host server1
Hostname server1_ip
User server1_user
ForwardAgent yes
Port 22
ProxyCommand ssh -oCiphers=arcfour128,arcfour256,arcfour,blowfish-cbc firewall_user@firewall_ip nc %h %p

Host server12
Hostname server12_ip
User server12_user
ForwardAgent yes
Port 22
ProxyCommand ssh -oCiphers=arcfour128,arcfour256,arcfour,blowfish-cbc server1 nc %h %p

Теперь, когда я печатаю ssh server12 от клиента у меня оболочка в server12, прыгая межсетевой экран и server1.