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

Туннели с несколькими переходами как это сделать

Интересно, может ли кто-нибудь помочь мне с несколькими туннельными переходами для серверов ...

в основном моя установка выглядит примерно так ...

[desktop01]=====[server01]=====[server02]---------[machine01]
                                         \--------[machine02]
                                          \-------[machine03]
                                           \------[machine04]

Я хочу настроить несколько туннелей ssh, чтобы со своего рабочего стола я мог напрямую подключаться по ssh к машинам с 01 по 04 без необходимости поочередно подключать ssh к каждому промежуточному ящику ...

Таким образом, desktop01 может видеть только server01, server02 может принимать соединения только от server01, а машины с 01 по 04 принимают соединения только от server02.

Может ли кто-нибудь помочь, поскольку я действительно застрял в этом.

Заранее спасибо :)

Следующая конфигурация в ~/.ssh/config позволяет динамически настраивать узлы перехода, разделяя их % условное обозначение:

Host *%*
    ProxyCommand ssh $(echo %h | cut -d%% -f2-) nc $(echo %h | cut -d%% -f1) %p

Затем вы могли бы запустить ssh machine01%server02%server01 и он будет подключаться к machine01 через server01 и server02. (Это не так хорошо работает, когда, к сожалению, вам нужно указать имена пользователей, отличные от стандартных.)

Что ж, вы можете построить что-то вроде следующего с указанием портов:

(Синтаксис: lport:remotehost:rport, что означает "Перенаправить порт lport на локальном компьютере на rport на удаленном компьютере)

 [server01]            [server02]
 22001:server02:22001  22001:machine01:22  
 22002:server02:22002  22002:machine02:22  
 22003:server02:22003  22003:machine03:22  
 22004:server02:22004  22004:machine04:22  

Затем вы можете просто сделать ssh -p 22001 usernamefrom_machine01@server01 подключиться к machine01 с соответствующим именем пользователя.

Чтобы построить переадресацию портов, используйте либо -L вариант ssh или настройте его с помощью вашего ~/.ssh/config файл.

Подробнее см. man ssh и man ssh_config.

На это ответили с несколькими вариантами на superuser.com https://superuser.com/questions/96489/ssh-tunnel-via-multiple-hops