Я только начал экспериментировать с туннелями SSH сегодня, но я придерживаюсь некоторой глупости (я думаю) ... Возможно, просто упускаю что-то очевидное, но вот что:
У меня есть два сервера Linux и один клиент Windows (server1, server2, client). Я настроил server1 для создания обратного ssh-туннеля к server2, например:
ssh -nNfR 8022:localhost:22 user@server1
После этого я могу успешно установить оболочку на server1, используя:
ssh -p 8022 localhost
По логике, это наводит меня на мысль, что я должен иметь возможность создать соединение putty ssh с server1: 8022 и получить оболочку для server2, но я получаю ошибку отказа в соединении. Кто-нибудь знает, что мне не хватает, или я совершенно ошибаюсь :)
Спасибо
Это распространенная проблема. Вам необходимо разрешить доступ к порту на сервере. Изменить GatewayPorts к да в / и т.д. / SSH / sshd_config.
видеть человек sshd_config под GatewayPorts.
Вам также может потребоваться указать адрес привязки для настройки вашего туннеля:
ssh -nNfR *:8022:localhost:22 user@server1
привязать ко всем интерфейсам.
видеть человек ssh под -Р
Ты используешь
ssh -nNfR 8022:localhost:22 user@server1
Это в основном говорит: «откройте порт 8022 на server1, подключающийся к порту 22 localhost», но «localhost» на server1 его ... server1 :) попробуйте:
ssh -nNfR 8022:server2:22 user@server1
Кроме того, когда вы используете localhost в первой команде, вы привязываете свой порт к интерфейсу обратной связи (127.0.0.1), который не принимает подключения извне, попробуйте его с именем хоста server1 или IP для проверки :)