0

我有以下代码:

from ncclient import manager

router = {"host": "ios-xe-mgmt.cisco.com", "port": "8181",
          "username": "developer", "password": "C1sco12345"}

with manager.connect(host=router["host"], port=router["port"], username=router["username"], password=router["password"], hostkey_verify=False) as m:
    print('*' * 50)
    print(capability)
    m.close_session()

调试时的错误显示为:

Exception has occurred: SessionCloseError
Unexpected session close
  File "C:\Users\mathewsl\VScodeWorkSpace\.vscode\testnetconf.py", line 6, in <module>
    with manager.connect(host=router["host"], port=router["port"], username=router["username"], password=router["password"], hostkey_verify=False) as m:

任何想法具体是什么导致/抛出此错误?

谢谢 ?

4

1 回答 1

0

您的完整代码应该如下所示,您忘记执行 for 循环来获取网络设备的所有 YANG 模块。

from ncclient import manager

router = {"host": "sandbox-iosxr-1.cisco.com", "port":"22",
            "username": "admin", "password" : "C1sco12345"}

with manager.connect(host=router["host"], port=router["port"], username=router["username"], password=router["password"], hostkey_verify=False) as m:
    for capability in m.server_capabilities:
        print('*' * 50)
        print(capability)    
    m.close_session()
于 2021-12-15T14:33:34.123 回答