Я пытаюсь получить доступ к веб-сайту HTTP(S) из браузера моего устройства. Мое устройство может попасть на этот сайт только через двойной туннель SSH.

Используя эту технику, я могу настроить свой браузер Firefox для успешного прокси через туннель SSH на моем сервере с именем SERVER1 .

Тем не менее, SERVER1 не может попасть на сайт, который мне нужен. К счастью, SERVER1 может SSH к другому SERVER2 который может.

Теперь я могу запустить:

SERVER1 $ ssh -D 12345 myuser@SERVER2

и создать еще один туннель из SERVER1 в SERVER2 , но я не понимаю, как сделать часть "firefox" без firefox на SERVER1 .

Кроме того, веб-сайт подключен к нестандартному порту (скажем, 8765), поэтому я не уверен, что export http_proxy будет работать.

Как бы я пошел по этому поводу? Спасибо

2 ответа2

5

Дубликат Как связать прокси SOCKS?

Чтобы связать прокси:https://superuser.com/a/843766/19867

ssh -tt -v -L1234:localhost:12345 user@server1 ssh -t -D 12345 user@server2
1

Сначала настройте цепочку ProxyJump на целевом сервере. это может выглядеть так в вашей SSH-конфигурации

Host SERVER2 
ProxyJump SERVER1

Вы можете связать больше прыжков с помощью ProxyJump jumphost1,jumphost2

Затем используйте ssh -D 1234 SERVER2 и установите localhost:1234 качестве прокси socks в локальном firefox.

Альтернативой является использование ssh -L для пересылки порта HTTP, но это может быть более сложным, когда сервер использует имя хоста для виртуальных хостов или выбор сертификата TLS.

Хорошая вещь о ProxyJump заключается в том, что вам не нужно думать о том, будут ли при настройке все параметры ssh работать как обычно, и вы можете использовать имя хоста так, как если бы вы могли напрямую его получить.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .