Продолжаем дорабатывать скрипт, который добавляет пользователей в наш Mikrotik Routerboard.
#!/usr/bin/env python
# -*- coding: utf_8 -*-
from paramiko import SSHClient
from paramiko import AutoAddPolicy
while True:
login = raw_input("Введите имя пользователя: ")
password = raw_input("Введите пароль пользователя: ")
ipaddress = raw_input("Введите IP адрес пользователя: ")
mtlogin = raw_input("Введите имя администратора mikrotik: ")
mtpassword = raw_input("Введите пароль администратора mikrotik: ")
mtipaddress = raw_input("Введите IP адрес mikrotik: ")
ssh = SSHClient()
ssh.set_missing_host_key_policy(AutoAddPolicy())
ssh.connect(mtipaddress, port=22, username=mtlogin, password=mtpassword)
cmd = "/ppp secret add name=%s password=%s service=any profile=default local=172.16.1.1 remote=%s" % (login, password, ipaddress)
ssh.exec_command(cmd)
ssh.close()
print "Пользователь %s добавлен" % (login)
if raw_input("Хотите продолжить? y/n: ") == "n":
break
Добавляем в наш скрипт возможность выбора (на какой именно Mikrotik Routerboard будет добавлен наш пользователь).
mtlogin = raw_input("Введите имя администратора mikrotik: ")
mtpassword = raw_input("Введите пароль администратора mikrotik: ")
mtipaddress = raw_input("Введите IP адрес mikrotik: ")
Создаем переменные mtlogin - логин и mtpassword - пароль администратора Mikrotik Routerboard. Также создаем mtipaddress – в которую введем значение ip-адреса Mikrotik Routerboard.
В строке ssh.connect (mtipaddress, port=22, username=mtlogin, password=mtpassword), которая выполняет соединение с Mikrotik Routerboard, подставим эти переменные.
Если нам нужно будет добавить несколько пользователей подряд, то, чтобы не запускать несколько раз скрипт, добавим цикл WHILE.
while True: - в условии указываем значение True. В этом случае выражения внутри цикла будут выполнятся бесконечно. Для остановки цикла используем оператор break, который будет запускаться при выполнении условия:
if raw_input("Хотите продолжить? y/n: ") == "n":
То есть если на вопрос: "Хотите продолжить?" - "y/n" мы нажмем клавишу "n".
Проверим работу скрипта.
Рис.1. Запуск скрипта.
Запускаем скрипт, вводим значения необходимые для добавления пользователя и видим, что появилось еще одна строка для ввода администратора mikrotik.
Рис.2. Вводим данные для авторизации в Mikrotik Routerboard.
Вводим параметры, необходимые для авторизации на Mikrotik Routerboard, после чего скрипт выполнит добавление пользователя.
Рис.3. Решение о дальнейшей работе скрипта.
Пройдя один цикл скрипт выводит следующее сообщение. Теперь мы выбираем - продолжить работу или нет.
Рис.4. Новый цикл.
Выбрав "y" мы видим, что скрипт продолжил работу и начался новый цикл.
Евгений Рудченко специально для ASP24.




