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