【发布时间】:2011-07-11 09:56:48
【问题描述】:
我在此站点和其他多个位置进行了搜索,但我无法解决在一个命令后连接和维护 ssh 会话的问题。以下是我当前的代码:
#!/opt/local/bin/python
import os
import pexpect
import paramiko
import hashlib
import StringIO
while True:
cisco_cmd = raw_input("Enter cisco router cmd:")
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('192.168.221.235', username='nuts', password='cisco', timeout = 30)
stdin, stdout, stderr = ssh.exec_command(cisco_cmd)
print stdout.read()
ssh.close()
if cisco_cmd == 'exit': break
我可以运行多个命令,但每个命令都会创建一个新的 ssh 会话。 当我需要配置模式时,上面的程序不起作用,因为 ssh session 没有被重复使用。非常感谢您提供解决此问题的任何帮助。
【问题讨论】:
-
我对一个同时导入 pexpect 和 paramiko 的脚本很着迷……您是同时使用这两种方法,还是尝试一种并迁移?