Использование утилит timeout & strace для мониторинга неактивности пользователя для разрыва соединения Shellinabox
https://habrahabr.ru/post/332544/ Недавно я занимался тем, что исследовал какие существуют решения для реализации web-ssh прокси-сервера. Суть задачи заключается в том, чтобы дать пользователям возможность соединяться с произвольным ssh-сервером посредством web-интерфейса. Обычно, решения web-ssh предназначены для соединения с сервером, на котором они развернуты, но в рамках моей задачи мне хотелось, чтобы пользователь мог указать IP, порт, имя и пароль пользователя (или ключ) и выполнить соединение с произвольным сервером. С ходу найти подобного решения мне не удалось.
Однако, для открытого пакета shellinabox я обнаружил решение на блоге (
https://tools.bartlweb.net/webssh/) на немецком языке, которое я и решил довести до нужного мне уровня. В итоге, получился симпатичный контейнер Docker, который можно найти как на GitHub (
https://github.com/bwsw/webshell) так и на Dockerhub (
https://hub.docker.com/r/bwsw/webshell/), который решает все необходимые задачи.