我一直在将我的脚本用于 unix 服务器,并且运行良好。但是,当我使用相同的脚本(有一些小的命令更改)连接到 HP Procurve 开关时,脚本崩溃并出现错误。部分脚本如下:
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(address, username=userna, password=passwd)
stdin,stdout,stderr= ssh.exec_command("show ver")
for line in stdout:
print '... ' + line.strip('\n')
ssh.close()
这给出了错误
Traceback (most recent call last):
File "C:/Users/kucar/Desktop/my_python/switchmodel", line 34, in <module>
stdin,stdout,stderr= ssh.exec_command("show ver")
File "C:\Python27\lib\site-packages\paramiko\client.py", line 379, in exec_command
chan.exec_command(command)
File "C:\Python27\lib\site-packages\paramiko\channel.py", line 218, in exec_command
self._wait_for_event()
File "C:\Python27\lib\site-packages\paramiko\channel.py", line 1122, in _wait_for_event
raise e
SSHException: Channel closed.
我在网上发现了类似的投诉,但似乎根本没有提供解决方案。Switch 对 ssh 是开放的,并且可以与 putty 一起正常工作。感谢您提供任何可以帮助我的想法。我无法为 100 台交换机手动执行“show ver”命令。