Wie kann man ähnliche Befehle an mehrere Server über SSH automatisieren?

Wie kann man ähnliche Befehle an mehrere Server über SSH automatisieren?

Ich habe x Server, mit denen ich mich per SSH über Passwörter verbinden kann. Wenn ich mich nur mit einem verbinden muss, verwende ich ssh root@IP-Adresse. Dann werde ich nach meinem Passwort gefragt und nach der Authentifizierung kann ich dort Befehle ausführen.

Was ist, wenn ich x Server habe, die alle gleich sind, und ich auf jedem davon denselben Befehl ausführen möchte? Wie kann ich dies mit einem oder zwei einzelnen Befehlen tun?

Antwort1

Es klingt, als ob Sie ein Provisioning-Tool wieansible,Salzstapel,KochoderMarionette.

Ansible funktioniert ganz ähnlich wie Sie es möchten. Sie führen es lokal aus und es stellt eine SSH-Verbindung zu Remote-Servern her, um Befehle auszuführen (es ist nicht erforderlich, einen Agenten auf den Remote-Servern zu installieren, wie bei den anderen oben aufgeführten Produkten). Wenn Sie beispielsweise eine Liste von Servern haben, /etc/ansible/hostskönnen Sie ansible all -a "/bin/echo hello"den angegebenen Befehl auf allen Servern ausführen. Vollständige AnleitungHier.

Darüber hinaus können Sie mit der Erstellung von Playbooks mit nützlichen Befehlen beginnen, die es Ihnen ermöglichen, diese in Zukunft auf Hosts erneut auszuführen und auf die Automatisierung der Verwaltung Ihrer Infrastruktur hinzuarbeiten.

Alternativ können Sie Befehle wiepssfür die parallele Ausführung von Batch-Befehlen oder die Verwendung desFenster synchronisierenFunktion von tmux zum interaktiven Ausführen von Befehlen auf mehreren Hosts.

Antwort2

  1. Ausführen derselben Befehle auf mehreren Hosts

Was ist, wenn ich x Server habe, die alle gleich sind, und ich auf jedem davon denselben Befehl ausführen möchte? Wie kann ich dies mit einem oder zwei einzelnen Befehlen tun?

Sie können ein Skript ausführen, das als Parameter den Hostnamen erhält, und dieselben Befehle auf dem Hostnamen im Parameter ausführen

  1. Verbindung über SSH zu mehreren Servern herstellen

Es wird dringend empfohlen, ein SSH-Schlüsselpaar zu verwenden. Die SSH-Kommunikation erfolgt ohne Passwort.

sehendiese Antwort

Antwort3

Sie könnenMobaXtremAls SSH-Client verfügt es über die MultiExec-Funktion, mit der Sie dieselben Befehle auf allen geöffneten Terminals ausführen können.

verwandte Informationen