netmiko не может выполнить 'sh run | я принимаю - PullRequest
0 голосов
/ 15 апреля 2020

Я заметил, что мой код netmiko не может работать sh run | i host, который является допустимой командой Cisco.

Когда я заменяю sh run другой командой, такой как sh clo или show ip interface brief, он работает отлично.

from netmiko import ConnectHandler

R1 = {
    'device_type': 'cisco_ios',
    'ip': 'Router1',
    'username': 'u',
    'password': 'p'
}

R2 = {
    'device_type': 'cisco_ios',
    'ip': 'Router2',
    'username': 'u',
    'password': 'p'
}

all_devices = [R1, R2]

for device in all_devices:
    connect = ConnectHandler(**device)
    output = connect.send_command('sh run | i host')
    print(output)

Вывод

user@linux:~$ python3 script.py 
^
% Invalid input detected at '^' marker.

^
% Invalid input detected at '^' marker.

user@linux:~$ 

Желаемый вывод

hostname Router1
hostname Router2

Есть идеи, почему этот код ведет себя так?

1 Ответ

1 голос
/ 15 апреля 2020

sh run - это сокращение от show running-config; это команда привилегированного режима (сначала требуется enable), и вы пытаетесь выполнить ее в непривилегированном режиме.

...