Используя Putty, я настроил обратный прокси, который позволяет мне подключаться к порту 8080 сервера по адресу server.tld
к порту 80 машины, которая инициировала SSH-соединение.
Сервер позволяет мне подключиться к localhost:8080
и возвращает результат initiator:80
когда подключаюсь к серверу.
Этот вопрос говорит включить GatewayPorts и привязать ко всем адресам.
Используя Putty, как я могу открыть порт 8080 на сервере, чтобы при поступлении запроса на внешний интерфейс (например, веб-запрос) порт перенаправлялся на initiator:80
?
При настройке туннеля PuTTY есть два флажка,
второй из них делает то, что вам нужно.
Я только что это проверил,
Диалог туннелей PuTTY,
Работает нормально, вот итоговый netstat,
# netstat -an | grep 8080
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN
tcp6 0 0 :::8080 :::* LISTEN
Вы также можете использовать plink.exe, который поставляется с PuTTY, например,
plink -R *:8080:localhost:80 user@remote.host.example
который тоже отлично работает.
# netstat -an | grep 8080
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN
tcp6 0 0 :::8080 :::* LISTEN
Если вы все еще получаете 127.0.0.1:8080 на хосте, тогда для GatewayPorts в вашей конфигурации sshd по-прежнему установлено значение no.
Кроме того, не забудьте обновить брандмауэр на целевом сервере, чтобы разрешить внешние подключения к порту 8080.