Хотите проверить конфигурацию Cisco IOS, есть ли у VTY SSH только с ciscoconfparse2.Python

Программы на Python
Ответить
Anonymous
 Хотите проверить конфигурацию Cisco IOS, есть ли у VTY SSH только с ciscoconfparse2.

Сообщение Anonymous »

Это мой первый пост здесь!!

Я пытаюсь проверить, есть ли в конфигурации IOS все VTY только с SSH.

Я использую Python с библиотекой ciscoconfparse2 и создал эту функцию (на этом этапе я не использую все параметры):
Просто для контекста, параметры имеют следующую информацию:

Код: Выделить всё

in_test = (a list with several  lines: line vty 0 4, line vty 5 15 and line vty 16 31
in_rexp = line vty 0 4 or line vty 5 15 or line vty 16 31
in_defa = transport input ssh

Код: Выделить всё

def func_parent(in_parse, in_test, in_rexp, in_defa, in_neg) -\> bool:
'''
Checks if the VTYs have SSH only.
'''

object_name = [
obj for obj in in_parse.find_parent_objects(in_rexp, in_defa)]
print(object_name)
if not object_name:
print(
Fore.RED + f'{in_test} has not SSH only ----------> 9')
return False
else:
print(
Fore.GREEN + f'{in_test} has SSH only ----------> 10')
return True

Итак, если список пуст, это означает отсутствие ssh...

Теперь для следующей конфигурации...

Код: Выделить всё

line vty 0 4
exec-timeout 0 0
logging synchronous
length 0
transport input ssh
line vty 5 15
exec-timeout 0 0
logging synchronous
length 0
transport input ssh
line vty 16 31
length 0
transport input ssh
!
Я получаю это...

Код: Выделить всё

\[\\]
line vty 0 4 has SSH only ----------\> 10      \>\>\> OK

\[\\]
line vty 5 15 has SSH only ----------\> 10     \>\>\> OK

\[\]
line vty 16 31 has not SSH only ----------\> 9  \>\>\> WRONG
что неправильно для VTY 16 31.....
И для этой конфигурации..

Код: Выделить всё

line vty 0 4
exec-timeout 0 0
logging synchronous
transport input ssh telnet
length 0
line vty 5 15
exec-timeout 0 0
transport input telnet
length 0
line vty 16 31
exec-timeout 10 0
transport input ssh telnet
length 0
!
... это результат...

Код: Выделить всё

\[\\]
line vty 0 4 has SSH only ----------\> 10         \>\>\> WRONG

\[\]
line vty 5 15 has not SSH only ----------\> 9     \>\>\> OK

\[\]
line vty 16 31 has not SSH only ----------\> 9     \>\>\> OK
Я предполагаю, что условие соответствия не работает с комбо ssh и telnet.
Я пробовал с find_parent_objects, а также с find_child_objects с тем же результатом.

Возможно, это не лучший способ проверить SSH только в конфигурации, благодарю за вашу помощь!
TIA

Подробнее здесь: https://stackoverflow.com/questions/782 ... coconfpars
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»