【问题标题】:Unexpected session close error is thrown when connecting netconf连接 netconf 时抛出意外的会话关闭错误
【发布时间】:2012-10-06 06:59:45
【问题描述】:

我正在使用 ncclient 连接到 netconf。但是,当我尝试通过 python 连接时

"ncclient.transport.errors.SessionCloseError: Unexpected session close" 错误被抛出。我正在使用的代码 sn-p 如下所示

manager.connect('<servername>',22,username='<username>')

对此的任何帮助都非常感谢。我可以使用公钥连接到远程服务器,因此我没有在连接中提供密码

在 netconf 服务器日志中,我可以看到拒绝访问错误。 (即使我尝试使用用户名和密码,我也遇到了同样的问题)

【问题讨论】:

    标签: python ssh openssh ietf-netconf


    【解决方案1】:

    你没有提供很多信息。

    1. 您使用的是哪个版本的ncclient
    2. 您使用的是哪个版本的 Python?
    3. 您要连接到哪个 NETCONF 实现?这是针对实际的交换机或路由器,还是类似于运行 libnetconfyuma 的 Linux 服务器?

    根据这里的信息,我可以想象有几件事是错误的:

    • paramiko 没有使用正确的密钥来建立 SSH 传输。
    • 您正在尝试与 SSH 服务器而不是 NETCONF 服务器建立 NETCONF 会话。

    在您的脚本中,使用manager.logging.basicConfig(filename='ncclient.log', level=manager.logging.DEBUG) 之类的内容创建一些日志,然后重新运行您的脚本 - 您是否获得了更多信息?

    这是一个老问题,但我希望我至少可以为您指出正确的方向。

    【讨论】:

      【解决方案2】:

      您的机器可能彼此不认识(例如当您通过普通 ssh 连接并得到“未知密钥,真的连接(y/n)?”错误。在这种情况下,默认情况下会话不会连接。要更改此行为,请使用“unknown_host_cb”参数:

      def allowUnknownHosts(host,fingerprint):
        return True
      
      self.manager = manager.connect(host=host, port=port, username=user,password=password, unknown_host_cb=allowUnknownHosts)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-04-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-05
        相关资源
        最近更新 更多