Ja, Sie können dies mit Paramiko tun.
Wenn Sie eine Verbindung zu einem Server herstellen, können Sie mehrere Kanäle über eine einzige Verbindung ausführen. Wenn Sie eine Verbindung zu mehreren Servern herstellen, können Sie mehrere Verbindungen in separaten Threads starten. Keine Notwendigkeit, mehrere Prozesse zu verwalten, obwohl Sie das Multiprocessing-Modul für das Threading-Modul ersetzen könnten und den gleichen Effekt haben.
Ich habe in einer Weile nicht in verdrehte Conch geschaut, aber es sieht aus, als ob es wieder Updates erhält, was nett ist. Ich könnte Ihnen keinen guten Vergleich zwischen den beiden geben, aber ich finde, Paramiko ist leichter in Gang zu bringen. Es erfordert ein wenig mehr Aufwand, um in Twisted zu kommen, aber es könnte es wert sein, wenn Sie andere Netzwerkprogrammierung tun.
Eine Sache bewusst zu sein, wenn ssh-Tunnel verwenden: Wenn Ihr Tunnel zu einer anderen Maschine als die Maschine verbinden haben Sie eigentlich ssh-ed auf, dann ist der Kanal zwischen der ssh-ed-zu-Maschine und die getunnelte Maschine wird * nicht * sicher sein. –
Offensichtlich ist der einzige sichere Teil zwischen dem Client und dem Server. Wenn ein böswilliger Benutzer es schaffen würde, einen WireShark beim Loopback auf dem Server zu erhalten, ist zwischen dem Tunnelendpunkt auf dem Server und dem Port des Prozesses, den man gerade anspricht, auch nichts sicher. Das hat aber nichts damit zu tun, was ich gesagt habe, im Grunde genommen, wenn ich ssh server.example dann in einem anderen Terminal ssh server.example wieder einstelle. Einige Clients (openssh) erstellen keine neue TCP-Verbindung, sondern nur einen anderen chanel auf dem ssh-Transport, der bereits geöffnet ist. – ewanm89