Используйте SSH для создания HTTP-прокси без браузера

987
JoeSlav

Я пытаюсь получить доступ к веб-сайту 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будет работать.

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

0
Вы хотите изучить использование JumpHost - https://ma.ttias.be/use-jumphost-ssh-client-configurations/ ivanivan 6 лет назад 0

2 ответа на вопрос

5
glallen

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

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

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

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

Host SERVER2  ProxyJump SERVER1 

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

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

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

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

Похожие вопросы