1

У меня следующая ситуация: Есть некоторые хосты, которые доступны только через туннель ssh. Скажем так

Я могу установить SSH-туннель и привязать 443 порта, необходимые для подключения к локальным портам:

ssh -L 1443:example.com:443 -L 2443:other.com:443 -A -l username myproxy.com

Пока это работает нормально - когда я звоню https://localhost:1443 , я могу открыть example.com, если я звоню https://localhost:2443 , я могу позвонить other.com

Проблема: есть некоторые приложения, которые не знают об этом и все еще пытаются подключиться через обычное имя хоста и порт.

Добавив следующие строки в мой файл hosts , я смогу сделать шаг ближе к окончательному решению:

127.0.0.1 example.com
127.0.0.1 other.com

Это позволяет мне вызывать https://example.com:1443 и https://other.com:2443 в моем браузере, но порт по-прежнему остается проблемой. Мне нужно сопоставить ОБА домены с моим локальным портом 443 чтобы он работал для других приложений.

Я предполагаю, что мне понадобится локальный прокси-сервер, прослушивающий порт 443 и перенаправляющий трафик на основе имени хоста либо на 1443 либо на 2443 но здесь я потерялся.

Что я могу сделать, чтобы все приложения на моей машине могли просто использовать имя хоста / порт, но пропускать трафик через мой SSH-туннель?

1 ответ1

0

Используйте ssh -D . Это создаст прокси-сервер SOCKS 5 на указанном порту (обычно 1080 или 9050), который вы можете настроить в браузере и получить доступ ко всему через туннель SSH.

Это работает одинаково с OpenSSH, PuTTY (plink), Bitvise Tunnelier; и не зависит от каких-либо функций на уровне операционной системы.

Например, с запущенным ssh -D 9050 вы можете настроить Firefox следующим образом:

(Вместо Chrome может потребоваться опция командной строки .)

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