Просмотр через ssh socks proxy -> через обратный туннель

У меня есть HostA за брандмауэром, устанавливающим обратный туннель SSH к HostB. Я хочу настроить прокси на HostB, который будет пересылать соединение через обратный туннель SSH и выход через HostA.

Я пробовал ssh -D 5678 user@localhost -p 1234, но при попытке подключения к HostB через порт 5678 в качестве прокси-сервера soks время ожидания истекло. 1234 - это порт на HostB, где обратный прокси-сервер настроен на HostA. У кого-нибудь есть совет по настройке этого?

Обратный прокси-сервер настроен на HostA как ssh -R 1234:localhost:22 user@HostB

2 ответа

Я проверил это на моих системах и не было никаких проблем.

  1. Хост: $ ssh -R 1234:localhost:22 user@hostb

  2. hostB: $ ssh -p 1234 localhost -D 5678

  3. hostB:

    $ curl http://portquiz.net
    Port 80 test successful!
    Your IP: 66.77.88.159
    
    
    $ curl --socks5 localhost:5678 http://portquiz.net
    Port 80 test successful!
    Your IP: 23.31.31.35
    

Команда curl работает? Если это так, в Firefox вы захотите установить HTTP Proxy: localhostPort: 5678 и проверить Use this proxy server for all protocols,

Если команда curl не работает, я бы проверил iptables а также selinux не мешают. Для устранения неполадок, я бы порекомендовал отключить iptables а также selinux на обоих хостах. Это только временно и не должно рассматриваться как постоянное решение.

HostA$ ssh -R 1080 user@HostB
HostB$ curl --socks5 localhost https://example.com

Из OpenSSH 7.6

ssh (1): добавлена ​​поддержка обратной динамической пересылки. В этом режиме ssh будет выступать в качестве прокси-сервера SOCKS4 / 5 и переадресовывать соединения на пункты назначения, запрошенные удаленным клиентом SOCKS. Этот режим запрашивается с использованием расширенного синтаксиса для параметров -R и RemoteForward и, поскольку он реализован исключительно на клиенте, не требует обновления сервера для поддержки.

Источник: примечания к выпуску OpenSSH 7.6

Другие вопросы по тегам