Führen Sie denselben Befehl auf mehreren Servern mit SSH unter MacOSX aus [geschlossen]

8

Gibt es ein Programm, mit dem derselbe Befehl auf mehreren Servern mit SSH unter MacOSX ausgeführt werden kann?

pupeno
quelle

Antworten:

9

iTerm2 kann es schaffen. Erstellen Sie ein Lesezeichen pro Server und setzen Sie den Befehl für jedes Lesezeichen auf ssh. Verwenden Sie dann die Funktion "Eingabe an alle Registerkarten senden". Sie können eine Reihe von Lesezeichen gleichzeitig über das Lesezeichenfenster (cmd-m) öffnen. https://iterm2.com/index.html

user66808
quelle
1
Nur um alle zu aktualisieren, hat iTerm2 eine neue URL :) iterm2.com
Tmanok
4

tmux-cssh ist einen Versuch wert:

brew install tmux-cssh
tmux-cssh -u user host1 host2 host3 host4 host5

2019-12-19 Update

Wie in den Kommentaren erwähnt, kann tmux-csshnicht mehr von Homebrew installiert werden. Aber es ist eigentlich nur ein relativ einfaches Shell-Skript, und Sie bekommen es von hier:

https://raw.githubusercontent.com/peikk0/tmux-cssh/master/tmux-cssh

curl -O https://raw.githubusercontent.com/peikk0/tmux-cssh/master/tmux-cssh
chmod 755 tmux-cssh
./tmux-cssh -u user host1 host2 host3 host4 host5

Kachelansicht gleichzeitiger SSH-Verbindungen zu 5 Hosts in tmux-cssh

Sideshowbarker
quelle
1
Es scheint aus dem Gebräu entfernt worden zu seinError: No available formula with the name "tmux-cssh"
18.
3

Schauen Sie sich ClusterSSH an . Ich habe dies von einer OSX 10.5-Workstation aus sehr effektiv verwendet, kann jedoch nicht überprüfen, ob es ab 10.6 ordnungsgemäß funktioniert. Ich vermute sehr, dass es gut funktionieren sollte.

Scott Pack
quelle
2

Hierfür gibt es eine Reihe von Tools. Ein Beispiel ist Parallel SSH . Es sieht so aus, als müssten Sie es aus dem Quellcode für Macos kompilieren, aber es sollte als guter Ausgangspunkt dienen.

Dieser Artikel auf linux.com enthält eine gute Beschreibung der Funktionsweise von pssh. Die Kommentare zu dieser Geschichte decken auch andere Alternativen wie Capistrano ab . Ich habe Tentakel für diesen Zweck verwendet, aber es sieht so aus, als wäre das Projekt tot.

Beachten Sie, dass viele der Aufgaben, die Sie möglicherweise mit einem parallelen SSH-Tool automatisieren möchten, wirklich gute Kandidaten für die Automatisierung mit einem Konfigurationsmanagement-Tool wie Puppet oder Chef oder Cfengine sind .

Phil Hollenback
quelle
ha Ich denke, einige von uns geben die "großen Antwort" -Lösungen und einige die schnellen, zweckmäßigen Antwortlösungen.
Phil Hollenback
2

Am Ende habe ich csshX verwendet :

Alt-Text

pupeno
quelle
1
Ich denke, dass iTerm2 und Befehl + Umschalt + I in mehreren Fenstern jetzt eine bessere Option sind. Ich habe beides versucht.
Ryan
0

Ich denke, iTerm kann das (iterm.sf.net)

jj33
quelle
Es kann nicht die gleiche Eingabe an alle Registerkarten senden, aber die Verbindungen werden meines Wissens nicht automatisch hergestellt.
Pupeno
0

Sie können eine beliebige Anzahl von SSH-Multiplexern verwenden: z. B. dsh (Tänzer-Shell), pdsh. Überprüfen Sie MacPorts.

Oder vielleicht etwas einfacher: für x in $ (cat hosts.txt); mache ssh $ x; erledigt

Es gibt auch kompliziertere Dinge wie Kochmesser, Capistrano, Funk oder Helm.

bdha
quelle