我正在使用ncclient连接到netconf。但是,当我尝试通过python连接时
“ncclient.transport.errors.SessionCloseError:抛出意外的会话关闭”错误。我正在使用的代码片段在下面给出
manager.connect('<servername>',22,username='<username>')
对此有任何帮助很多。我可以使用公钥连接到远程服务器,因此我没有在连接中提供passwordk
在netconf服务器日志中,我可以看到访问被拒绝的错误。 (即使我尝试使用username和pwd,我也遇到了同样的问题)
答案 0 :(得分:1)
您没有提供太多信息。
ncclient
?libnetconf
或yuma
的Linux服务器?根据这里的信息,我可以想象出一些错误:
paramiko
未使用正确的密钥建立SSH传输。在您的脚本中,使用类似manager.logging.basicConfig(filename='ncclient.log', level=manager.logging.DEBUG)
的内容创建一些日志,然后重新运行您的脚本 - 您是否获得了更多信息?
这是一个老问题,但我希望至少可以指出你正确的方向。
答案 1 :(得分:0)
可能你的机器彼此不认识(比如当你通过正常的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)