Я пытаюсь использовать ssh через несколько хостов, что работает без проблем:
ssh -t -t user1@host1 ssh -t -t -p 222 user2@host2
Теперь я хотел бы использовать локальный хост для доступа к третьему хосту, и я делаю это так:
ssh -L 2222:host3:22 -t -t user1@host1 ssh -p 222 user2@host2
Проблема:
Когда я делаю ssh -p 2222 user3@localhost
ничего не происходит (например, время ожидания соединения истекло). Пока ssh -t -t user1@host1 ssh -t -t -p 222 user2@host2 ssh user3@host3
работает абсолютно нормально.
В -L 2222:host3:22
перенаправляет локальный порт 2222 на host3:22
через host1
. Я предполагаю host1
не имеет подключения к host3
. Если бы это было так, вы бы не подключились через host2
.
Вам нужно перенаправить порт из host1
к host2
а затем перенаправить локальный порт на перенаправленный порт на host1
.
Это должно сделать (я не могу проверить банкомат):
ssh -L 2222:host2:2223 -t -t user1@host1 ssh -L 2223:host3:22 -p 222 user2@host2
локальный: 2222 => хост2: 2223 => хост3: 22