Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Сообщество системных администраторов Litl-Admin.ru Вывод консоли Linux в веб-интерфейс


Ссылка на материал

Всем привет! Сегодня я расскажу о мега-удобной штуке, когда нам нужно показать вывод консоли в веб-интерфейс и даже поработать с консолью без SSH. Итак, исходное состояние – свежеустановленная Debian 8, кстати, отличная ОС. Настроен сетевой интерфейс и /etc/resolv.conf на DNS провайдера. Больше ничего не делал, даже apt-get update/upgrade.

Первым делом, нам потребуется Golang на машине. Открываем офсайт и узнаём ссылку на последнюю версию:

Последняя версия языка

Последняя версия языка

Получаем ссылку и скачиваем её в Linux через wget:

# wget https://storage.googleapis.com/golang/go1.5.linux-386.tar.gz

Получаем последнюю версию Golang

Получаем последнюю версию Golang

После того, как файл будет скачан, разархивируем его в /usr/local

# tar -C /usr/local -xzf go1.5.linux-386.tar.gz

Разархивируем его

Разархивируем его

Затем добавим каталог в переменную окружения PATH

# export PATH=$PATH:/usr/local/go/bin
# export GOPATH=$HOME/work

Установим приложение gotty

# go get github.com/yudai/gotty

Устанавливаем gotty

Устанавливаем gotty

Переходим в каталог ~/work/bin и запускаем gotty с параметром команды, при этом у нас стартует веб-сервер, транслирующий консоль этой команды. Если указать ключ -w, то возможно делать ввод в эту команду.

Выведем команду top:

# ./work/bin/gotty top

Запускаем команду

Запускаем команду

А теперь открываем нашу машину по адресу http://10.0.0.5:8080

Вывод команды top

Вывод команды top

Как я уже говорил, можем сделать интерактивный обмен данными – позволить выполнять ввод команд в веб-браузер:

# ./work/bin/gotty -w bash

Интерактивная работа

Интерактивная работа

Как видите, отличный инструмент, позволяющий работать с сервером прямо из браузера, без ssh-клиента. Но требуется защитить подключение, благо есть возможность использовать SSL/TLS, авторизацию по ключам и установку единственного соединения. Кроме того, возможно прикрутить basic_auth для простой защиты соединения и генерировать URL для подключения произвольной длины.

Этот инструмент заслуживает внимания. Надеюсь, было интересно!



В избранное