Первая часть этого - создание туннеля - может быть выполнена программным обеспечением клиента ssh.
В стандартном ssh-клиенте командной строки (я использую Mac, но считаю, что это поведение соответствует версиям unix/linux), использование указывает ' -R [bind_address:]port:host:hostport
' для порта, который будет переадресован из сервер клиенту (тогда как -L
пересылает с клиента на сервер).
Например, если вы хотите перенаправить порт 80 на удаленном ssh-сервере на локальный веб-сервер, к которому клиентский компьютер получит доступ, перейдя по http://localserver:80/
, вы должны подключиться с дополнительным аргументом командной строки -R 80:localserver:80
.
В зависимости от операционной системы клиентского компьютера, для настройки этого параметра могут использоваться различные другие параметры. Если вы работаете в любой ОС на базе Unix, я бы порекомендовал описанную выше, или, если вы работаете в Windows, PuTTY может настроить этот тип туннеля (Настройки / SSH / Туннели - выберите «Удаленный» вместо «Локальный»). «).
После настройки туннеля это позволит любому пользователю в той же сети, что и сервер ssh, подключиться к веб-серверу в сети клиента. Однако они не смогут подключиться к нему через его реальный IP-адрес - им придется подключиться к http://sshserver:80/
и трафик будет перенаправлен на удаленный сервер, и ответ будет возвращен.
Если вы хотите иметь возможность доступа к одному и тому же серверу через тот же URL-адрес, вам необходимо добавить соответствующую запись DNS в сети сервера ssh, указывающую на IP-адрес сервера ssh. Он не будет доступен, когда клиент ssh отключен.
Также обратите внимание, что сервер ssh имеет только один порт 80, так что вы можете сделать это только для одного удаленного сервера за раз. Если вы хотите обойти это ограничение, вам придется назначить несколько IP-адресов серверу ssh и использовать необязательный аргумент 'bind address' в командной строке ssh, или вы можете распределить серверы по разным портам (обычно 8080, 8081, ...) выбрав разные удаленные порты в команде ssh - сами веб-серверы могут все еще использовать порт 80.