@enabl3

Как осуществить ssh запросы через бота telegram на python?

Здравствуйте.
Подскажите пожалуйста, как правильно организовать работу бота, что бы к примеру в чат ему писать IP сервера, он заходил на него по ssh, выполнял определенные действия (к примеру пусть будет uptime) и отправлял ответ.
  • Вопрос задан
  • 1092 просмотра
Пригласить эксперта
Ответы на вопрос 3
@Sovetnikov
технический директор pulsprodaj.ru
fabric https://github.com/mathiasertl/fabric/

Что-то вроде того:
from fabric.api import env, run

env.hosts = ['host.name.com']
env.user = 'user'
env.password = 'password'

result = run('uname -a')
Ответ написан
denistu10
@denistu10
Linux System Administrator/SRE Engineer
Ну примерно как то так
используется обертка PyTelegramBotAPI
Создаете бота в ТГ , получаете токен. Для работы по SSH, есть модуль paramiko
И обрабатываете его уже
import telebot
from settings import *

bot = telebot.TeleBot(TOKEN)

@bot.message_handler(commands=["Ваша команда"])
def handle_start(message):  #Функция по обработке вашей команды
    #Тут код который будет принимать строку например с вашим IP
    # Далее будет подключатся к серваку,выполнять что нужно
    bot.send_message(message.from_user.id, "Тут будет ответ который нужно будет вернуть пользователю" )

bot.polling(none_stop=True, interval=0)
Ответ написан
moropsk
@moropsk
Хмм.. так всё равно нужно руками заходить в телеграмм и писать что-то боту, потом получать ответ.
Может проще и информативней в консоли через настроенный ansible проверить uptime (или что-то еще) нужных хостов.
ansible -m shell -a 'uptime' "группа хостов"

How to Install and Configure latest version of Ansible on Ubuntu Linux
https://www.cyberciti.biz/faq/how-to-install-and-c...
Установка и настройка Ansible в Unix/Linux
https://linux-notes.org/ustanovka-i-nastrojka-ansi...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы