Контроллер Cisco SSH не принимает команды из скрипта Python - PullRequest
0 голосов
/ 23 мая 2019

Я использую скрипт Python для подключения к локальному контроллеру Cisco через SSH.Я использую Windows 10, Python 3.7 и использую самую последнюю библиотеку paramiko.Я считаю, что мой сценарий устанавливает соединение, но, похоже, не может правильно ввести имя пользователя и пароль.

SSH code

import paramiko
import time
import getpass
import os
from host_file import network_devices
from config_file import host_conf


UN = input("Username : ")
PW = getpass.getpass("Password : ")


# For loop to specify number of hosts
for ip in  network_devices:
    print (ip)
    ssh1 = paramiko.SSHClient()
    ssh1.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    ssh1.connect(ip, port=22, username=UN, password=PW)
    remote = ssh1.invoke_shell()
    remote.send('terminal length 0\n')
    time.sleep(1)
    #loop allows you to specify number of commands
    for command in host_conf:
        remote.send(' %s \n' % command)
        time.sleep(5)
        buf = remote.recv(65000)
        print (buf)
        f = open('sshlogfile0001.txt', 'ab')
        f.write(buf)
        f.close()
    ssh1.close()





Host file

network_devices = ['10.100.10.2','10.100.100.1']


config_file

host_conf = ['config paging disable','show time', 'exit']

Это выходные данные, которые сценарий печатает обратно. Они из многократного запуска.

(Cisco Controller) Пользователь: длина терминала 0 Пароль: *********** Пользователь: пароль выхода:

(контроллер Cisco) Пользователь: длина терминала 0 Пароль: *********** Пользователь: пароль выхода:

(контроллер Cisco)Пользователь: длина терминала 0 Пароль: *********** Пользователь: пароль выхода:

(Cisco Controller) Пользователь: длина терминала 0 Пароль: *********** Пользователь: пароль выхода:

Это вывод, отображаемый на самом cmd

b '\ r \ n \ r \ n (Cisco Controller) \ r \ nПользователь: длина терминала 0 \r \ nПароль: *********** \ r \ nПользователь: 'b' выход \ r \ nПароль: '10.100.100.2 b' \ r \ n \ r \ n (контроллер Cisco) \ r \nUser: длина терминала 0 \ r \ nПароль: *********** \ r \ nПользователь: '

...