Задача: получить доступ по SSH к серверу через браузер.
Ставим shellinaboxd:
|
cd /usr/ports/www/shellinabox make install clean |
в /etc/rc.conf
|
shellinaboxd_enable="YES" shellinaboxd_port="4200" |
В /usr/local/etc/rc.d/shellinaboxd отключаем возможность удаленного подключения (т.е. разрешаем только localhost):
|
command_args="--user=${shellinaboxd_user} --group=${shellinaboxd_group} --port=${shellinaboxd_port} --background=${pidfile}" |
изменяем:
|
command_args="--user=${shellinaboxd_user} --group=${shellinaboxd_group} --port=${shellinaboxd_port} --background=${pidfile} --localhost-only" |
Запускаем сервис:
|
/usr/local/etc/rc.d/shellinaboxd start |
Далее настраиваем apache для получения строки запуска SSH вида http://www.domen.ru/shell. Устанавливаем порты:
|
cd /usr/ports/www/apache22 make config |
Выбираем mod_proxy и mod_proxy_http
|
make deinstall make reinstall /usr/local/etc/rc.d/apache22 restart |
В /usr/local/etc/apache22/httpd.conf добавляем:
|
LoadModule proxy_module libexec/apache22/mod_proxy.so LoadModule proxy_html_module libexec/apache22/mod_proxy_html.so LoadModule proxy_http_module libexec/apache22/mod_proxy_http.so |
В виртуальные хосты apache:
|
ProxyPass /shell/ http://localhost:4200/ ProxyPassReverse /shell/ http://localhost:4200/ |
И снова перезапускаем:
|
/usr/local/etc/rc.d/apache22 restart |