Назад | Перейти на главную страницу

Перенаправление портов SSH через машину Windows

Можно ли подключиться к серверу SSH, доступному только изнутри сети, используя машину Windows без SSH в качестве шлюза ?.

Разрешите пояснить свой вопрос с помощью наброска:

Я (машина Linux) ---> WIN (Windows без SSHD) ---> LIN (Linux с SSHD).

Machine Me - это компьютер, который я использую для подключения к LIN через WIN. WIN доступен извне, у него открыт порт RDESKTOP, а LIN доступен только изнутри сети.

Надеюсь, вы поняли вопрос.

OpenSSH имеет очень гибкую возможность использовать прокси через опцию ProxyCommand. Если в окне Windows нет демона SSH, можно ли установить прокси-сервер socks, прокси-сервер HTTP CONNECT или общий прокси-сервер TCP? Если да, то вы можете использовать его как точку для подключения к внутренней системе. Точные детали будут зависеть от того, какой именно прокси вы устанавливаете и какие межсетевые экраны / фильтры используются между различными системами.

Вы не сможете сделать это, не установив хотя бы какой-нибудь прокси на Windows. В Windows нет встроенного универсального прокси-сервера, который позволял бы пересылать SSH-трафик.

Главный вопрос в том, можете ли вы подключиться к какой-либо службе через другую машину. Ответ - да, но вам нужно программное обеспечение.

Я просто быстро погуглил и нашел вот что: http://www.quantumg.net/portforward.php То же самое есть в Linux в различных утилитах, но мне больше всего нравится rinetd http://www.boutell.com/rinetd/.

Оба работают одинаково - вы запускаете программу, которая в основном пересылает пакеты с одного хоста на другой. Если у вас есть доступ к машине посередине, вы сможете установить демон / сервер, который сделает это.

Нет, sshd выполняет пересылку, поэтому без демона SSH, работающего в Windows, вы не сможете.

Windows имеет встроенный механизм сопоставления портов:

netsh interface ipv6 install  # Port forwarding needs to enable ipv6
netsh interface portproxy add v4tov4 listenaddress=123.234.12.34 listenport=22 connectaddress=192.168.1.2 connectport=22

Замените 123.234.12.34 общедоступным IP-адресом вашего Windows Server, а 192.168.1.2 - IP-адресом интрасети вашего Linux Server.