Веб интерфейс для скриптов дающие команды по SSH

axper

Создатель
Регистрация
14 Авг 2014
Сообщения
21
Реакции
6
Конечно глупый вопрос, но разобраться в нем и ответить на него не могу. Имеется скрипт, который при запуске открывает допустим 10 ssh соединений( подключается к 10 разным машинам, расположенным в разных местах). Далее при нажатии кнопки "Авторизоваться" происходит авторизация на всех машинах. Машины запускают голосовое оповещение (допустим тревогу во время бедствия и т.д.). Есть несколько команд, при выполнении которых включается та или иная звукозапись.
Так вот как можно это зарелизить с красивым веб интерфейсом, чтобы у пользователя не возникало трудностей с управлением.
И вообще возможно ли так сделать?
 
php -> shell_exec.

Короче без ssh, просто соединяемся к хосту и выполняем там, всё, что угодно.

А можно пожалуйста поподробнее? Как это работает?

shell_exec выполняет комманды bash. Из php вы управляете машиной на *nix. Для просмотра ссылки Войди или Зарегистрируйся.
 
Последнее редактирование модератором:
Имеется скрипт, который при запуске открывает допустим 10 ssh соединений( подключается к 10 разным машинам, расположенным в разных местах).

Скрипт на каком языке? Можешь сюда выложить, интересно посмотреть. Да и как тебе ответ давать для доработки уже готовой системы, если ничего о системе неизвестно?
 
Последнее редактирование:
можно примерно так:
накалякать небольшой шел на основе "tail -n0 -f путь_к_логу | while read line; do пишем строку в базу"
и теперт как только будет в логе появляться запись в логе - сразу фиксируем её в удаленной базе (чтоб логировать серверы все в одном месте)
запускаем шел на каждом серевере - теперь у нас есть онлайн-лог всегда

вторым этапом пиешем обработчик на выборку записей и проверку на какуюто катастрофу (например регулярками),
теперь можно создать страницу - где аяксом будем дергать обработчик, и если чтото есть о чем нужно сигнализировать
тем же яваскритом - проигруем звук
var audio = $("#beep")[0];
audio.play();
 
спустя день на глаза попалось вообьще блестящее решение
даже конектится не нужно никуда

привожу цытату из сайта, ссылка ниже
перед всем нужно сделать настройку безпарольного входа по ссх на локал с сервера (чтобы сервер мог соедениться с локальной машиной)

"Один из интересных способов применения беспарольного входа - это «удаленное оповещение». Допустим, что на удаленном сервере работает очень важный процесс, например веб-сервер Apache. Мы хотим получить уведомление, когда система начинает испытывать нехватку ресурсов (жесткий диск переполнен или нагрузка на систему слишком высока). В этом случае мы можем отправить уведомление по электронной почте. Но помимо этого, мы можем выполнить удаленную команду, которая воспроизведет звуковой сигнал в нашей локальной системе. Для этого можно воспользоваться, например, такой командой:

ssh user1@local_server 'play /usr/share/sounds/gaim/arrive.wav'

Эта команда, выполненная скриптом на удаленном сервере, произведет беспарольный вход пользователем user1 на local_server (на котором мы обычно работаем) и воспроизведет файл с помощью команды play (которая обычна доступна в Linux)."

Для просмотра ссылки Войди или Зарегистрируйся
 
Назад
Сверху