Встала потребность в подключении к терминалу сервера через браузер. SSH безусловно прекрасный протокол, но преграды ему чинят разного рода мобильные девайсы и прокси-серверы.
В качестве веб-клиентов для ssh рассматривались Ajaxterm, Anyterm, WebShell и Shell in a Box. Наиболее быстродействущим и адекватным оказался Shell in a Box. Далее привожу пример установки для Debian/Ubuntu.
Установим зависимости
[email protected]:~$ apt-get install debhelper libpam0g-dev libssl-dev subversion
Получаем исходные коды:
[email protected]:~$ svn checkout http://shellinabox.googlecode.com/svn/trunk/ /usr/src/shellinabox
Собираем и устанавливаем пакеты
[email protected]:~$ cd /usr/src/shellinabox
[email protected]:~$ dpkg-buildpackage
[email protected]:~$ dpkg -i /usr/src/shellinabox_*.deb
В принципе этого достаточно. Можно открывать в браузере http://localhost:4200.
Если на машине присутствует веб-сервер, можно настроить доступ к консоли через него, как алиас вида https://mydomain.com/shell/. Так, если это Apache, потребуются mod_proxy и mod_proxy_http.
[email protected]:~$ a2enmod proxy
[email protected]:~$ a2enmod proxy_html
В конфиг сервера/виртуального хоста нужно добавить:
ProxyRequests Off
Order deny,allow
Allow from all
ProxyPass http://localhost:4200/
ProxyPassReverse http://localhost:4200/
Перезапускаем веб-сервер.
[email protected]:~$ apache2ctl graceful