Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Получение результата команд с сервера по SSH  (Прочитано 1352 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн AlexDem

  • Автор темы
  • Активист
  • *
  • Сообщений: 696
    • Просмотр профиля
Для доступа к серверу и получения результата выполнения команды сейчас используется команда типа

ssh -i /home/user/Keys/vpn/private.pem user@11.11.1.11 'df -h /dev/vda1'
Enter passphrase for key '/home/user/Keys/vpn/private.pem':
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1       8,9G  3,6G  5,4G  40% /

Т.к. доступ к серверу организован через ключ + пароль к ключу, то для получения результата надо этот пароль ввести. Все нормально, когда надо обработать 1-2 команды, но когда надо вставить запрос в скрипт возникает проблема.
Вопрос: какой способ наиболее оптимальный для выгрузки на клиента с сервера какой то некритической для безопасности информации? Ну вроде того, что я привел выше: свободное место на диске, строчки из логов о каких то сбоях или подключенные пользователи?
Я бы мог поднять на сервере Apache2, выгружать инфо через www и настроить к ней доступ по ssl сертификату, но все это как то уж слишком монструозно. Может есть идеи как бы этот процесс организовать попроще? Ну, вроде того, чтобы получать с сервера обычный текстовый файл, который генерируется динамически, и к которому есть доступ без ограничений... Что-то вроде web-сервера но очень лайт и для одного файла к примеру?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28358
    • Просмотр профиля
ssh agent

Пользователь добавил сообщение 03 Апреля 2022, 10:17:36:
но все это как то уж слишком монструозно
Аналогично, решается тривиально.
https://forum.ubuntu.ru/index.php?topic=194259.0
Надо будет дописать это для вашего случая.

Пользователь добавил сообщение 03 Апреля 2022, 10:21:02:
А вообще всё это давно решено. Cacti, nagios, etc.
« Последнее редактирование: 03 Апреля 2022, 10:21:02 от AnrDaemon »
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн AlexDem

  • Автор темы
  • Активист
  • *
  • Сообщений: 696
    • Просмотр профиля
Надо будет дописать это для вашего случая.
Да, спасибо, я про этот вариант не подумал. Это меня на одну мысль натолкнуло, у меня же есть уже ЦС, правда EasyRSA, интерсно, можно ли его будет прикрутить к данной задаче авторизации на сервере?
Cacti, nagios, etc.
Да, я это видел, смотрел все вплоть до Zabbix, но у меня то задача намного проще чем все эти решения. Фактически - получение одной, заранее сформированной текстовой строки (или JSON) от сервера, можно по CURL.
Но в любом случае спасибо за совет.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28358
    • Просмотр профиля
у меня же есть уже ЦС
Ну тогда вопрос исчерпан. Принципиально именно наличие собственного УЦС, чтобы можно было доверять выписанным клиентским сертификатам.

Пользователь добавил сообщение 06 Апреля 2022, 20:53:18:
но у меня то задача намного проще чем все эти решения
Стоит начать…
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн AlexDem

  • Автор темы
  • Активист
  • *
  • Сообщений: 696
    • Просмотр профиля
Я тут погуглил койчо и оказалось, что в системе есть уже очень маленький http.server, который как раз идеально подходит для таких задач.
Создаем каким то образом текстовый файл users.log, кладем его в папку /home/user/log
Из данной папки запускаем сервер
sudo  python3  -m  http.server  4747 #[port e.g.(4747)]В браузере набираем
http://IP_Address:4747/users.log и получаем содержимое файла.
Можно и через curl
curl http://IP_Address:4747/users.logОчень просто.

 

Страница сгенерирована за 0.03 секунд. Запросов: 25.