Утилиты для публикации результатов выполнения введённых в терминале команд и совместной работы в рамках одной сессии терминала на сервере.
ttyd.
Ставим ttyd с помощью brew:
# brew install ttyd
Затем просто запускаем утилиту и команду, вывод которой будет доступен в браузере:
$ ttyd top
Далее нам останется просто открыть в браузере IP адрес сервера и нужный порт (165.227.173.63:7681, например) и мы увидим в нём вывод запущенного top. От рута утилиту можно запускать просто обратившись к бинарнику напрямую.
При запуске ttyd имеется возможность задать номер порта, логин и пароль для соединения, подключить SSL сертификат для соединения по https. Подробнее о дополнительных опциях можно узнать запустив ttyd с ключом -h.
# /home/sysadmin/.linuxbrew/bin/ttyd -c user:pass -p 8332 tail -f /var/log/messages
gotty.
Ещё один похожий инструмент — gotty. Аналогичным образом он ставится с помощью brew из дополнительного репозитория:
$ brew install yudai/gotty/gotty
Затем нам остаётся просто запустить его и нужное приложение, которое мы хотим показать в браузере:
$ gotty top
И обратившись по IP адресу сервера на порт 8080 получит вывод запущенного.
При запуске, мы можем указать IP, порт на котором будет запущен gotty, подсунуть ему SSL сертификат, указать логин и пароль для просмотра в браузере. Подробности можно получить запустив gotty с ключом -h.
tmate.
Отдельно стоит отметить утилиту tmate (tmate.io), которая будучи форком tmux, позволяет нескольким пользователям просматривать вводимое или работать в рамках одной сессии терминала из разных мест.
Ставим tmate и генерируем ssh ключи (если это не было сделано ранее), так как они нужны будут для работы утилиты:
$ brew install tmate $ ssh-keygen $ tmate
Запускается окно, в котором нас просят ввести пароль от ssh ключа. Вводим его, и получаем новую запущенную сессию, а в нижней части терминала адрес, по которому любой желающий может соединиться с сервером для просмотра или совместной работы.
ssh YVyinSLrHmgbLGi3yIL2mkGsx@fk2.tmate.io
Передаём этот адрес тому человеку, который должен подключиться к сессии и просим его сделать это. Когда человек подключится, он сможет работать в консоли вместе с администратором, при этом, подключившиеся смогут видеть происходящее и взаимодействовать с терминалом одновременно.
Тот кто не доверят соединениям на сторонний ресурс для работы по SSH, может установить свой собственный tmate сервер, который доступен на Github.