SSH туннель и получение веб-страниц через туннель
Я попытался создать туннель к клиенту, прошедшему через сервер, используя следующую команду
ssh -X -f admin@IP_server -N -L 4444:IP_client:80
но при попытке открыть клиент:80 firefox получит как ошибку эту
channel 2: open failed: unknown channel type:
Connection to 81.21.20.207 closed by remote host.
кто-то знает, где проблема? Спасибо большое
3 ответа
Вот что я использую, чтобы загрузить мой webmin на свои серверы (который скрыт, так что только кто-то с доступом по ssh может его увидеть):
ssh -l oli -L 9090:localhost:9090 my-server-ip
Это соединяет меня с сервером и отображает мой локальный порт 9090 на P9090 сервера. Я просто смотрю на http://localhost:9090/
и я вижу вебмин.
Если вы пытаетесь подключиться к другому устройству через ваш сервер, вам не стоит искать варианты туннелирования вручную. ssh
имеет встроенный прокси режим SOCKS. Запустите это:
ssh -D 9999 oli@my-server-ip
Затем вы говорите своему браузеру о прокси SOCKS. Посмотри в настройках сети. localhost
как сервер, порт 9999
, Помните, что это должно быть в настройках для SOCKS. Это не HTTP-прокси.
Теперь при просмотре весь трафик проходит через туннель ssh. Это означает, что если на другом конце есть устройство, к которому может подключиться только ваш сервер, вы можете подключиться к нему, используя его IP.
Обратите внимание, что DNS-запросы и другой сетевой трафик не будут проходить через туннель (AFAIK), поэтому вам нужно подключиться к IP-адресу, если он имеет значение (что, я подозреваю, будет в этом случае)
Вы хотите обратный туннель, попробуйте это:
ssh -NT -R 4444:local.mydomain.com:80 user@remote.mydomain.com
Это инициирует соединение с remote.mydomain.com и перенаправляет TCP-порт 4444 на remote.mydomain.com на TCP-порт 80 на local.mydomain.com. "-N" указывает ssh просто настроить туннель и не подготавливать поток команд, а "-T" говорит ssh не выделять псевдо-tty в удаленной системе. Опция "-R" указывает ssh настроить туннель в качестве обратного туннеля.
Ваше описание сбивает с толку. Как указано, вы сказали, что соединения с localhost:4444
должны быть направлены в IP_server
который затем должен подключиться к IP_client:80
, но тогда вы подключаетесь непосредственно к IP_client:80
?