Web SSH-клиент — SSH через браузер

Итак, перед нами стоит задача – обеспечить доступ к своему серверу по SSH через окно браузера. Почему именно так? Да просто потому, что такой подход – самый универсальный. Существует огромное количество сетей, в которых закрыты все порты, которые администратор (или его начальство) посчитал нужным закрыть, в том числе и 22 – стандартный порт для протокола SSH. Но порты 80 (HTTP) и 443 (HTTPS) практически всегда открыты. По крайней мере, радикалов, перекрывающих и эти порты я пока не встречал – зачем тогда вообще предоставлять доступ в Интернет?
HTTP я настоятельно не рекомендую использовать, поскольку весь трафик (в том числе имя пользователя и пароль) в этом случае передаются в незашифрованном виде и доступны почти любому желающему. Хотя и такой доступ можно настроить, этот вариант не будем даже рассматривать. А жаждущие экстрима пусть лучше оставляют ключи от квартиры на гвоздике возле двери. Так, по крайней мере, для окружающих вреда меньше :).
С преамбулой заканчиваем, переходим к делу. Что нам понадобится для осуществления задуманного? Во-первых, сам сервер, без него никак. В этой заметке неявно подразумевается что на сервере установлен GNU/Linux. Во-вторых, необходимо, чтобы на нём был установлен SSH-сервер. В подавляющем большинстве дистрибутивов установлен по умолчанию. Ну и наконец, я представляю нашего сегодняшнего героя – замечательную программу shellinabox. Вообще говоря, есть ещё несколько программ с подобными возможностями (о них я упомяну позже), но shellinabox мне лично нравится намного больше, так как работает заметно быстрее аналогов и поддерживает UTF-8, что лично для меня важно. shellinabox абсолютно бесплатна в использовании и распространяется под лицензией GNU GPL v2.
Соберём данный проект из исходников:
Подробнее