在与cucm服务器建立SSH连接时出现Python Netmiko错误

时间:2017-05-17 11:09:14

标签: python cucm

只是python的初学者,需要一些专家建议。我正在使用Windows机器,安装了python 2.7,尝试运行一个脚本,该脚本将连接到其中一个cisco调用管理器CLI并运行一些命令(例如-admin:utils create report硬件)。我附加了正常连接的油灰槽的屏幕截图,但是想要自动化。任何有关这方面的帮助将不胜感激。

我尝试过使用netmiko但是它说错误 - enter image description here

>>> from netmiko import ConnectHandler
>>> cisco_881 = {'device_type': 'cisco_ios','ip': '10.10.201.11','username': 
'Admin','password': 'admin123'}
>>> net_connect = ConnectHandler(**cisco_881)

Traceback (most recent call last):
  File "<pyshell#18>", line 1, in <module>
    net_connect = ConnectHandler(**cisco_881)
  File "build\bdist.win32\egg\netmiko\ssh_dispatcher.py", line 122, in 
ConnectHandler
    return ConnectionClass(*args, **kwargs)
  File "build\bdist.win32\egg\netmiko\base_connection.py", line 146, in 
__init__
    self.session_preparation()
  File "build\bdist.win32\egg\netmiko\cisco\cisco_ios.py", line 11, in 
session_preparation
    self.set_base_prompt()
  File "build\bdist.win32\egg\netmiko\base_connection.py", line 634, in 
set_base_prompt
    raise ValueError("Router prompt not found: {0}".format(prompt))
ValueError: Router prompt not found: admin:

1 个答案:

答案 0 :(得分:0)

CUCM提示符是admin :(以冒号结束:)所以你想修改base_connection.py。

我在下面取得了一些成功:

第619行附近,用粗体添加了部分:

def set_base_prompt(self,pri_prompt_terminator =&#39;#&#39;,                         alt_prompt_terminator =&#39;&gt;&#39;, cucm_prompt_terminator =&#39;:&#39; ,delay_factor = 1):

第633行附近,用粗体添加了部分:

如果没有提示[-1](pri_prompt_terminator,alt_prompt_terminator, cucm_prompt_terminator ):

在访问cisco_ios类型的其他设备时,我没有对任何副作用进行过广泛的测试,但上面给出了如何解决问题的要点。