README.md

    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-интерфейс соответствующие команды.

    Screenshot of working scrypt

    На устройствах автора использовались для работы демона SSH порты 22 и 1984. Поэтому именно они и используются для подключения. Также есть третий режим, выбираемый кнопками переключения (англ. “RadioButton”), называемый “detail_mode_all_hosts”, который проходится абсолютно по всем устройствам сети, меняя порты при неудаче (долго, но без лишних телодвижений).

    В скрипте обрабатываются исключения Exception. Чаще всего, попадаются такие:

    • TimeoutError говорит о сбое в процессе подключения,
    • NoValidConnectionsError — неверный порт,
    • AuthenticationException — неверный пароль или логин.

    Screenshot of working scrypt

    На скриншоте выше на каждом из устройств выполнялись сразу две команды: распечатать список ip-адресов, сконфигурированных на МикроТике, а потом показать всех пользователей. Эти две команды разделяются символом “;”.

    Описание

    Скрипт для подключения к сетевым устройствам MikroTik на RouterOS и выполнения на них команд

    Конвейеры
    0 успешных
    0 с ошибкой