Stellen Sie über einen Jumphost per SSH eine Verbindung zu mehreren Maschinen her und sammeln Sie einige Informationen

Stellen Sie über einen Jumphost per SSH eine Verbindung zu mehreren Maschinen her und sammeln Sie einige Informationen

ich bin vor kurzem auf eine Situation gestoßen, mit der ich nicht umzugehen weiß. Normalerweise muss ich mich zuerst mit dem Jumphost verbinden , dann ( oder ), dann dasselbe, um mich anzumelden. Jetzt möchte ich ein Skript schreiben, das sich automatisch bei allen anmelden kann, um einige Befehle auszuführen und Informationen zu sammeln (konkret um die GPU-Auslastung der Maschine anzuzeigen), sodass ich die gesamte GPU-Auslastung auf allen Maschinen mit einem einzigen Skript ermitteln kann. Ich weiß aber nicht wie. Ich habe die ProxyJump-Konfiguration wie folgt ausprobiert:ssh [email protected]passwordssh machine1machine2 machine3 machine4,...passwordmachines(machine1, machine2, machine3, machine4,...)nvidia-smi

Host betajump
  HostName [email protected]

### Host to jump to via jumphost1.example.org
Host machine1
  HostName user@machine1
  ProxyJump betajump

aber es funktioniert nicht, wenn ich SSH-Maschine1 versuche, erscheint die Eingabeaufforderung:

ssh: /home/cc/Downloads/software/envs/py2/lib/libcrypto.so.1.0.0: no version information available (required by ssh)
ssh: /home/cc/Downloads/software/envs/py2/lib/libcrypto.so.1.0.0: no version information available (required by ssh)
/home/cc/.ssh/config: line 7: Bad configuration option: proxyjump
/home/cc/.ssh/config: terminating, 1 bad configuration options

selbst wenn das funktioniert, habe ich immer noch keine Ahnung, wie ich die Arbeit machen soll, die ich möchte. Kann mir jemand helfen?

Antwort1

Da Sie davon sprechen, diesen Prozess per Skript ausführen zu wollen, wird die Tatsache, dass Sie Passwörter verwenden, Ihren Vorgang verlangsamen. Sie sollten vielleicht in Erwägung ziehen, für die Authentifizierung auf private Schlüssel statt Passwörter umzusteigen.

Der erste Vorschlag wäre, auf OpenSSH 7.3 oder höher zu aktualisieren. Version 7.6 ist jetzt verfügbar und 7.3 wurde 2016 veröffentlicht. Es ist also durchaus möglich, dass es in einer für Ihre Distribution geeigneten Form vorkonfiguriert verfügbar ist. Wenn nicht, können Sie es wahrscheinlich finden und kompilieren. Dadurch wird der Konfigurationsfehler behoben, den Sie erhalten.

Wenn dies nicht möglich ist (Sie müssen bei 6.6.1 bleiben), können Sie versuchen, den etwas umständlicheren Ansatz zu implementieren, der auf der Site aufgeführt ist, auf die ich in meinem Kommentar verlinkt habe:OpenSSH-Wiki zum Thema: Gateway-Verkettung

Damit sollten Sie die Verbindungen skripten können, aber wie eingangs erwähnt, werden die Passwortabfragen in der Größenordnung von 2x der Anzahl der zu überprüfenden Maschinen liegen. Das könnte ziemlich schnell langweilig werden, daher empfehle ich, sich Folgendes anzusehen:Authentifizierung mit öffentlichem Schlüssel.

Ihr Bibliotheksproblem ist eine ganz andere Frage, ziemlich komplex, und hindert Sie nicht daran, dieses spezielle Problem anzugehen, daher werde ich nicht im Detail darauf eingehen. Ich würde vorschlagen, mit „man ldconfig“ zu beginnen, um zu erfahren, wie der LD_LIBRARY_PATH festgelegt wird, und von dort aus herauszufinden, warum „/home/cc/Downloads/software/envs/py2/lib/“ darin angezeigt wird.

verwandte Informationen