Меню
Контакты
107023, Москва, пл. Журавлёва, 10с3, подъезд 31, офис 309
Пн-Пт: с 9-00 до 17-00   Сб-вс: выходной
Интернет-магазин
сетевого оборудования
Москва +7 (495) 103-41-03 +7 (915) 420-28-94
107023, Москва, пл. Журавлёва, 10с3, подъезд 31, офис 309
Пн-Пт: с 9-00 до 17-00   Сб-вс: выходной
Заказать звонок

Добавляем несколько пользователей подряд в Mikrotik Routerboard

 10 Мар 2011    MikroTik, Scripts

Продолжаем дорабатывать скрипт, который добавляет пользователей в наш 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".

Проверим работу скрипта.

 

 Добавляем пользователей в Mikrotik Routerboard

Рис.1. Запуск скрипта.

 

Запускаем скрипт, вводим значения необходимые для добавления пользователя и видим, что появилось еще одна строка для ввода администратора mikrotik.

 

  Вводим данные для авторизации в Mikrotik Routerboard

Рис.2. Вводим данные для авторизации в Mikrotik Routerboard.

 

Вводим параметры, необходимые для авторизации на Mikrotik Routerboard, после чего скрипт выполнит добавление пользователя.

 

 Добавляем пользователей в Mikrotik Routerboard

Рис.3. Решение о дальнейшей работе скрипта.

 

Пройдя один цикл скрипт выводит следующее сообщение. Теперь мы выбираем - продолжить работу или нет.

 

 Добавляем пользователей в Mikrotik Routerboard

Рис.4. Новый цикл.

 

Выбрав "y" мы видим, что скрипт продолжил работу и начался новый цикл.

 

Евгений Рудченко специально для ASP24.