You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用NAPALM通过SSH备份Cisco路由器,无法进入enable模式求助

解决NAPALM连接Cisco IOS设备时无法进入enable模式的问题

问题原因

错误提示已明确说明:你的Cisco路由器启用了特权模式(enable mode)验证,但连接参数里仅提供了登录用的username和password,未传递特权模式所需的secret参数(即enable密码),导致NAPALM在尝试切换到特权模式获取配置时失败。

解决方案

  1. 确认路由器的enable密码配置
    在Cisco路由器上执行以下命令,查看当前enable密码的配置:

    show running-config | include enable
    

    输出会显示enable secret或enable password对应的配置项,记录对应的密码值。

  2. 修改代码添加secret参数
    在device_detail字典中新增secret键,值为路由器的enable密码,修正后的代码示例如下:

    import napalm
    # 获取IOS驱动
    driver = napalm.get_network_driver('ios')
    # 补充secret参数
    device_detail = {
        'hostname': '192.168.1.2',
        'username': 'wahid',
        'password': 'wahid',
        'secret': '你的enable密码'  # 替换为实际的enable密码
    }
    # 初始化设备连接
    router = driver(**device_detail)
    router.open()
    print(f'Connection is Opened with -> {device_detail["hostname"]}')
    # 获取配置
    config = router.get_config()
    print(f'Configuration on this {device_detail["hostname"]} router ->')
    # 操作完成后关闭连接
    router.close()
    

    注:原代码中from napalm import *与import napalm重复,保留一个即可;操作结束后建议调用router.close()释放连接资源。

  3. 测试环境特殊处理
    如果是测试环境且不需要特权模式验证,可在路由器上关闭enable密码:

    configure terminal
    no enable secret
    no enable password
    exit
    write memory
    

    但生产环境严禁关闭特权模式验证,会带来严重安全风险。

额外注意事项

  • 确认NAPALM的IOS驱动版本与路由器IOS版本兼容,可参考官方文档核对支持范围。
  • 检查路由器SSH服务是否正常启用,且允许你的主机IP访问。

内容的提问来源于stack exchange,提问作者Wahid Anwari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 04:24:25