python - Python / 自动化设备的 Netmiko 超时错误
问题描述
我正在关注 David Bombal 的网络自动化视频:https ://www.youtube.com/watch?v=gEVFRBnjpS4
这是我的代码:
from netmiko import ConnectHandler
iosv_l2_s2 = {
'device_type': 'cisco_ios',
'ip': '192.168.122.102',
'username': 'b',
'password': 'cisco',
}
iosv_l2_s3 = {
'device_type': 'cisco_ios',
'ip': '192.168.122.103',
'username': 'b',
'password': 'cisco',
}
iosv_l2_s4 = {
'device_type': 'cisco_ios',
'ip': '192.168.122.104',
'username': 'b',
'password': 'cisco',
}
iosv_l2_s5 = {
'device_type': 'cisco_ios',
'ip': '192.168.122.105',
'username': 'b',
'password': 'cisco',
}
iosv_l2_s6 = {
'device_type': 'cisco_ios',
'ip': '192.168.122.106',
'username': 'b',
'password': 'cisco',
}
with open('iosv_l2_config') as f:
lines = f.read().splitlines()
print (lines)
all_devices = [iosv_l2_s6, iosv_l2_s5, iosv_l2_s4, iosv_l2_s3, iosv_l2_s2]
for devices in all_devices:
net_connect = ConnectHandler(**devices)
output = net_connect.send_config_set(lines)
print (output)
f.closed()
这是我收到的错误:
Traceback (most recent call last):
File "/usr/local/lib/python3.8/dist-packages/netmiko/base_connection.py", line 931, in establish_connection
self.remote_conn_pre.connect(**ssh_connect_params)
File "/usr/local/lib/python3.8/dist-packages/paramiko/client.py", line 412, in connect
server_key = t.get_remote_server_key()
File "/usr/local/lib/python3.8/dist-packages/paramiko/transport.py", line 834, in get_remote_server_key
raise SSHException("No existing session")
paramiko.ssh_exception.SSHException: No existing session
在处理上述异常的过程中,又出现了一个异常:
Traceback (most recent call last):
File "netmiko1.py", line 46, in <module>
net_connect = ConnectHandler(**devices)
File "/usr/local/lib/python3.8/dist-packages/netmiko/ssh_dispatcher.py", line 315, in ConnectHandler
return ConnectionClass(*args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/netmiko/cisco/cisco_ios.py", line 17, in __init__
Exception: Error reading SSH protocol banner[Errno 9] Bad file descriptor
return super().__init__(*args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/netmiko/base_connection.py", line 346, in __init__
self._open()
File "/usr/local/lib/python3.8/dist-packages/netmiko/base_connection.py", line 351, in _open
self.establish_connection()
File "/usr/local/lib/python3.8/dist-packages/netmiko/base_connection.py", line 976, in establish_connection
raise NetmikoTimeoutException(msg)
netmiko.ssh_exception.NetmikoTimeoutException: Paramiko: 'No existing session' error: try increasing 'conn_timeout' to 10 seconds or larger.
因此,第一个设备配置良好,但随后出现上述错误。
错误如何包含“paramiko”有点奇怪,但我没有在这里使用或导入 paramiko 库。只是netmiko。知道如何纠正这个问题吗?谢谢!
解决方案
推荐阅读
- google-bigquery - BigQuery - 计算保留嵌套名称的列中的空值
- javascript - Blob 未正确生成 pdf
- c# - 带有身份验证问题的 C# HTTP Post
- javascript - TypeError:无法读取未定义的属性“正”
- ios - 如何在objective-c中创建自定义导航栏以支持safeareaview?
- virtual-environment - 如何解决此错误“DistributionNotFound:未找到'zipp> = 0.5'分发,并且importlib-metadata需要”?
- apache-kafka - 如何输出kafka消费者属性?
- c# - C# URI 验证
- java - 如何修复关于我的 switch 语句的输出?
- google-cloud-platform - 如何通过 API 获取服务帐户对 GCP 中项目和组织的所有角色/权限