Ich schreibe ein Skript, das Paramiko verwendet, um ssh auf mehrere Remote-Hosts und führen Sie ein paar Überprüfungen durch. Einige Hosts werden als Failover für andere eingerichtet, und ich kann nicht feststellen, welche verwendet werden, bis ich versuche, eine Verbindung herzustellen. Beim Verbinden mit einem dieser "inaktiven" Hosts teilt mir der Host mit, dass Sie eine Verbindung zu einer anderen "aktiven" IP herstellen müssen und schließen Sie dann die Verbindung nach n Sekunden. Dies scheint auf den Stand der SSH-Verbindung/-Sitzung geschrieben zu sein (d. H. Es handelt sich nicht um ein SSH-Banner).Paramiko get stdout vom Verbindungsobjekt (nicht exec_command)
Ich habe Paramiko ziemlich oft verwendet, aber ich weiß nicht, wie ich diese Ausgabe von der Verbindung bekomme, exec_command gibt mir natürlich stdout und stderr, aber der Host gibt dies sofort nach der Verbindung aus, und es akzeptiert keine weiteren eingehenden Anfragen/Nachrichten. Es schließt nur nach n Sekunden.
Ich möchte nicht bis zum Timeout warten müssen, um auf den nächsten Host zu gehen und ich möchte auch überprüfen, dass das der Grund dafür ist, dass ich keine Verbindungen herstellen und die Prüfungen ausführen kann, sonst funktioniert mein Skript beabsichtigt.
Alle Vorschläge, wie ich diese Ausgabe erfassen kann, mit oder ohne Paramiko, wird sehr geschätzt.