Auto MikroTik SSH Connection
Python Scrypt
Требуется интерпретатор Python минимум 3 версии (см. Download the latest version for Windows). Также нужны библиотеки:
pip install paramiko
pip install tkinter (если нет)
При двойном щелчке по скрипту (при установленной ассоциации в Windows python.exe и .py-файлов) откроется cmd-консоль с формой для ввода логина, пароля и команд, которые требуется выполнить. Эта форма написана с помощью средств модуля tkinter, или “Tk interface”. (Ctrl+C в консоли, чтобы остановить подключение).
Доступны в целом 4 поля для ввода и выбора значений. Первые три — это логин, пароль и поле для команд, которые можно разделять точкой с запятой (символом “;”) (см. скриншоты ниже). Эти команды введутся поочередно после успешного подключения к устройству (список ip-адресов для подключения по SSH прописывается в самом скрипте).
Скрипт будет проходиться по всем устройствам MikroTik, вводя в их CLI-интерфейс соответствующие команды.
На устройствах автора использовались для работы демона SSH порты 22 и 1984. Поэтому именно они и используются для подключения. Также есть третий режим, выбираемый кнопками переключения (англ. “RadioButton”), называемый “detail_mode_all_hosts”, который проходится абсолютно по всем устройствам сети, меняя порты при неудаче (долго, но без лишних телодвижений).
В скрипте обрабатываются исключения Exception. Чаще всего, попадаются такие:
- TimeoutError говорит о сбое в процессе подключения,
- NoValidConnectionsError — неверный порт,
- AuthenticationException — неверный пароль или логин.
На скриншоте выше на каждом из устройств выполнялись сразу две команды: распечатать список ip-адресов, сконфигурированных на МикроТике, а потом показать всех пользователей. Эти две команды разделяются символом “;”.
Описание
Скрипт для подключения к сетевым устройствам MikroTik на RouterOS и выполнения на них команд