Браузер как SSH-клиент


Встала потребность в подключении к терминалу сервера через браузер. безусловно прекрасный протокол, но преграды ему чинят разного рода мобильные девайсы и прокси-серверы.

В качестве веб-клиентов для ssh рассматривались Ajaxterm, Anyterm, WebShell и Shell in a Box. Наиболее быстродействущим и адекватным оказался Shell in a Box. Далее привожу пример установки для /.

Установим зависимости

[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