Ich begann vor kurzem mit der Verwendung von Twist, und ich versuche, einen Client zu erstellen, der verbindet und Befehle an einen SSH-Server sendet. (Ich erstelle nur den Client und verwende einen SSH-Server, um ihn zu testen). Nach dem Senden von 10 Befehlen (z. B. 'ls' Befehl) und Empfangen einer Antwort für jeden der Befehle, wird mein Client blockiert. Kann mir jemand dabei helfen, eine Lösung zu finden? Hier ist der wichtigste Teil meines Kunden. PS: Ich verwende twisted 12.0.0 (msi binaries).Python Twisted SSH-Client: Client blockiert nach dem Senden von 10 Befehlen
class SimpleConnection(connection.SSHConnection):
def serviceStarted(self):
self.openChannel(CommandChannel(conn=self))
class CommandChannel(channel.SSHChannel):
name = 'session'
def channelOpen(self, data):
global command
command = "ls"
d = self.conn.sendRequest(self, 'exec', common.NS(command), wantReply=True)
d.addCallback(self.dataReceived)
def dataReceived(self, data):
print (data)
def closeReceived(self):
self.conn.openChannel(self)