У меня есть сервер только с одним публичным IP, доступ к которому ограничен только портом 443. Я настроил обратный прокси-сервер Apache для доступа к веб-страницам https. Я настроилhttps://one.example.comдля веб-сайта №1 иhttps://two.example.comдля веб-сайта №2. Я хочу разрешить команду ssh three.example.com для сеанса ssh. Как это сделать?
решение1
SSH не может быть обратно проксирован таким образом. Рассмотрите возможность настройки VPN-сервера и получения доступа к хостам во внутренней сети через VPN.
Например:OpenVPNобычно используется для этой цели.
решение2
Putty позволяет настроить HTTP-прокси:
Возможно, вы также можете попробовать настроить Apache как обычный прокси-сервер, позволяющий подключаться к вашему хосту только через порт 22.
решение3
Вам нужен прокси перед Apache, чтобы различать Apache SSH
и HTTPS
Flux, которые концептуально совершенно разные ( SSH
выводит свой баннер и ждет ответа, HTTPS
слушает инициативу клиента).
sslhто, что вы ищете. Он привязывается к порту 443 и перенаправляет SSH
трафик на localhost:22 и HTTPS
трафик на localhost:443 (или любой другой IP, который вы настроите). Параметры для установки:
OPTIONS="--user nobody \
--pidfile $PIDFILE \
-p $Public_IP_Address_Here:443 \
--ssl 127.0.0.1:443 \
--ssh 127.0.0.1:22"