
Используя SSH, я могу, например, ssh -R 8080:127.0.0.1:8080 remote.host
перенаправить свой локальный порт 8080 на удаленный хост.
Я пытаюсь сделать что-то похожее, но порт, который мне нужно перенаправить, находится на удаленной машине, к которой у меня нет доступа к оболочке. Например, если удаленная машина находится в 192.168.1.10
, я хотел бы remote.host:8080
приходить с 192.168.1.10:8080
.
Можно ли это сделать с помощью простого SSH? В какой-то момент я упрощу это, просто сделав переадресацию портов в маршрутизаторе, но у меня не будет такого уровня доступа в течение нескольких дней.
решение1
Если у вас есть доступ к оболочке другого сервера в той же сети, вы можете подключиться к нему secondserver
через SSH и использовать его для туннелирования всех подключений к вашему локальному порту 8080 на порт 8080 камеры (IP 192.168.1.10
):
ssh -L 8080:192.168.1.10:8080 secondserver
решение2
Если вы можете запустить ssh-клиент на 192.168.1.10
, то это просто. В стандартном инструменте командной строки ssh есть опция -L
, которая делает обратное -R
— перенаправляет трафик с локального порта на порт, доступный с ssh-сервера.
Если 192.168.1.10
у вас компьютер с ОС Windows, я бы порекомендовал PuTTY, в котором вы можете настроить эти сетевые туннели через меню «Настройки».