tmate, ttyd, gotty.

Утилиты для публикации результатов выполнения введённых в терминале команд и совместной работы в рамках одной сессии терминала на сервере.

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.

@SysadminNotes | https://sysadmin.pm

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *