首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与cucm服务器建立SSH连接时出现Python Netmiko错误

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

Stack Overflow用户
提问于 2017-05-17 19:09:14
回答 2查看 1.4K关注 0票数 1

只是一个python的初学者,需要一些专家的建议。我在windows机器上工作,安装了Python2.7,试图运行一个脚本,该脚本将连接到思科呼叫管理器命令行界面之一,并运行一些命令(例如-admin:utils创建报告硬件)。我有附加的油灰槽,我连接正常的屏幕截图,但想自动化这一点。在这方面的任何帮助都将不胜感激。

我试过使用netmiko,但它显示以下错误- enter image description here

代码语言:javascript
复制
>>> 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:
EN

回答 2

Stack Overflow用户

发布于 2017-05-31 16:36:00

CUCM提示符是admin:(以冒号:结尾),因此您要修改base_connection.py。

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

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

定义提示符(self,pri_prompt_terminator='#',alt_prompt_terminator='>',cucm_prompt_terminator=':',delay_factor=1):

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

如果没有提示(-1\f25 pri_prompt_terminator-1\f6、-1\f25 alt_prompt_terminator -1\f6、-1\f25 cucm_prompt_terminator):-1\f6

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

票数 0
EN

Stack Overflow用户

发布于 2022-01-12 15:12:50

你可以检查下面的代码:

代码语言:javascript
复制
from netmiko import ConnectHandler

RTR_150 = {
    "device_type": "cisco_ios",
    "host": "your_router_ip",
    "username": "test",
    "password": "test",
    "secret": "enable_password"}

with ConnectHandler(**RTR_150) as net_connect:
    config_commands = [ "show env",
                        "show version"]

    output = net_connect.send_config_set(config_commands)
    net_connect.disconnect()
    
    print(output)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44023160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档