Python-Paramiko-Modul mit mehreren Befehlen

Ich habe eine Klasse, die die Verbindung herstellt. Ich kann 1 Befehl verbinden und ausführen, bevor der Kanal geschlossen wird. Auf einem anderen System kann ich mehrere Befehle ausführen und der Kanal wird nicht geschlossen. Offensichtlich ist es ein Konfigurationsproblem mit den Systemen, mit denen ich eine Verbindung herstellen möchte.

class connect:

    newconnection = ''

    def __init__(self,username,password): 
        ssh = paramiko.SSHClient()
        ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        try:
            ssh.connect('somehost', username=username,password=password,port=2222,timeout=5)
        except:
            print "Count not connect"
            sys.exit()
        self.newconnection = ssh

    def con(self):
        return self.newconnection

Dann benutze ich den Befehl 'ls', um nur eine Ausgabe zu drucken

sshconnection = connect('someuser','somepassword').con()


stdin, stdout, stderr = sshconnection.exec_command("ls -lsa")

print stdout.readlines() 
print stdout 

stdin, stdout, stderr = sshconnection.exec_command("ls -lsa")

print stdout.readlines() 
print stdout 

sshconnection.close()
sys.exit()

Nachdem der erste Befehl exec_command ausgeführt wurde, wird die erwartete Ausgabe der Verzeichnisliste gedruckt. Wenn ich stdout nach dem ersten exec_command drucke, sieht es so aus, als wäre der Kanal geschlossen

<paramiko.ChannelFile from <paramiko.Channel 1 (closed) -> <paramiko.Transport at 0x2400f10L (cipher aes128-ctr, 128 bits) (active; 0 open channel(s))>>> 

Wie ich auf einem anderen System sagte, kann ich Befehle ausführen und die Verbindung wird nicht geschlossen. Gibt es eine Möglichkeit, dies offen zu halten? oder eine bessere Möglichkeit, den Grund zu sehen, warum es schließt?

bearbeiten: Es sieht also so aus, als ob Sie nur 1 Befehl pro SSHClient.exec_command ausführen können. Also habe ich mich für get_transport (). Open_session () entschieden und dann einen Befehl ausgeführt. Der erste funktioniert immer. Die zweite schlägt immer fehl und die Skripte hängen nur

Antworten auf die Frage(3)

Ihre Antwort auf die Frage