LINUX.ORG.RU
решено ФорумAdmin

Apache + SSH


0

1

Есть сервак с одним внешним IP. На нем стоит apache и ssh. У меня на работе стоит прокси, который разрешает connect только на 443 порт. До этого я ssh порт менял на 443 и все работало отлично, но сейчас понадобилось поднять https, и теперь ищу пути решения.

У меня есть два доменных имени, к примеру http://www.myserver.com и ssh.myserver.com. Пытался через ProxyPass настроить перенаправление на ssh, но ничего не вышло. Вот конфиг:

<VirtualHost ssh.myserver.com:443>
        ServerName ssh.myserver.com
        NameVirtualHost ssh.myserver.com:443
        AllowCONNECT 22 443
        ProxyRequests Off
        ProxyPreserveHost On
        ProxyPass / http://127.0.0.1:22/
</VirtualHost>

При попытке подключения через ssh клиент, он зависает и ничего не говорит, причем даже в логах ничего не отображается. Зато если через браузер, то в логах отображается запрос. Попытки прикрутить ssl ни к чему не привели.

Даже не знаю возможно ли так настроить систему? Гуглил по поводу этой связки, ничего толкового не нашел, разве что поднять прокси, и в клиенте указать его, но я на работе и так через прокси сижу :(

И еще один вопрос. У меня сейчас только один виртуальный хост на 443 порту, т.е. к нему можно подключаться хоть по ip. Можно ли сделать чтобы ssh нормально подключался и сайт по https работал?

>Даже не знаю возможно ли так настроить систему?
ИМХО, нет, ибо это в принципе невозможно. По каким признакам ты собираешься определять, что какое-то конкретно TCP-соединение - это SSH, а не HTTPS?

WiZ ()

По какому либо характерному признаку апистолами перекидывать ssh соединения на порт sshd.

Lonli-Lokli ★★ ()

Нерешаемо. Тебе нужны два айпишника или дружба с одмином рабочего шлюза.

Или же - костыль для вебового шелла, типа как в вебмине, только посложнее. Но это, конечно, не замена полноценному SSH.

thesis ★★★★★ ()
Ответ на: комментарий от thesis

А вот ради интереса, может ли физически апатч перенаправлять на ssh?

PS. Пробовал разные веб-шеллы, извините, но это УГ.

albertn ()
Ответ на: комментарий от albertn

Апач-то может; судя по твоему конфигу, ты это и сам накопал.

Блин, или решаемо... Получается, тебе нужен connect до корпоративного прокси, сквозь него connect до апача и уже твой апач заворачивает ssh куда надо. То есть, цепочка из двух HTTP CONNECT-прокси.

Таким образом, ты должен из дома настроить свой апач так, чтобы твой ssh-клиент умел ходить сквозь него, как сквозь http connect прокси. А потом на работе запилить сквозь корпоративный прокси какой-нибудь http-connect туннелер, сквозь который ssh-клиент будет лазать, имея указанным в качестве прокси опять же твоего апача.

Это если я нигде не затупил, а то ведь я могу.

--

А вебшеллы УГ, конечно.

thesis ★★★★★ ()

Извиняюсь что немного офтопик но какой вебшел который УГ, но секьюрный посоветуете? Тоже вот вот подбирается такая беда на работе что оставят один порт, а зависать на ssh мне не надо, но и апач нужен. В чем вообще проблемы вебшелов, что они УГ?

dromer ()
Ответ на: комментарий от dromer

Угу. Тоже поинтересуюсь.
Есть ли secure вебшелы с поддержкой ncurses? :)
Или как боротся с прокси, который рубит соединения спустя 2 минуты неактива?

Tanger ★★★★★ ()
Ответ на: комментарий от Tanger

В самом ssh есть в конфиге настройка иммитировать активность. На opennet пробегало как-то, но я не тестировал

dromer ()

предлагаю написать мини-утилиту на sh и пускать через CGI.
она должна обрабатывать форму, где ты будешь вводить команды, иметь галочку «sudo» и большую кнопку «выполнить».
естественно доступ к cgi-bin в таком случае надо запаролить по htpasswd.

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

Komintern ★★★★★ ()
Ответ на: комментарий от dromer

На википедии была подборка клиентов http://en.wikipedia.org/wiki/Web-based_SSH. А основные проблемы в скорости их работы и перехвате комбинаций клавиш. Встречал даже такие, что работали в ие, и не работали в хроме.

С туннелем тут как-раз все понятно. Хочется найти более простое решение. У меня ни как не получается перенаправить апатч на ssh сервер напрямую через ProxyPass. Может это в принципе не возможно, и ему все-таки какие-то заголовки нужны? Я просто не до конца понимаю как работает mod_proxy :(

albertn ()
Ответ на: комментарий от WiZ

либо мой вариант =) хотя это тоже веб-шелл как бы.

Komintern ★★★★★ ()
Ответ на: комментарий от ryk

Интересно. А вот, что пишут про то как вообще можно отличить SSL от SSH:

How can this proxy find out what kind of protocol is using a TCP connection to port 443, without being connected (yet) to the server? We actually rely on a slight difference between the SSL and SSH protocols (found thanks to ethereal):

SSH

Once the TCP connection is established, the server speaks first, presenting itself by saying something like:
SSH-2.0-OpenSSH_3.6.1p2 Debian 1:3.6.1p2-1

SSL

With SSL, it's always the client that speaks first.

WiZ ()
Ответ на: комментарий от CFA

Вы мой спаситель!!! Он действительно открыт для connect! Всем спасибо за помощь.

albertn ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.