Ich verwende Expect- Skripte, um die Anmeldungen zu automatisieren (insbesondere, weil ich durch ein Jumb-Box gehen und eine Chroot eingeben muss und viele Passwörter eingegeben werden müssen) und habe einige "Optimierungen" an der Konfiguration von CSSH vorgenommen. Ich habe also dieses "Hauptskript" in meinem bin-Ordner, das mit einem "Servernamen / Alias" zu dem Server führt, den ich möchte und wo ich möchte.
In der Datei ~ / .clusterssh / config habe ich den Parameter "ssh" so eingestellt, dass er auf mein Skript verweist. Außerdem muss "ssh_args" auf ein harmloses / falsches Argument gesetzt werden. Dies liegt daran, dass cssh seine Standardargumentliste hat, wenn sie tatsächlich leer bleibt Die Standardliste befindet sich im Skript.
Das Skript (in jedem Fenster / Terminal) erhält also diese Argumente und eines der Argumente, die dem CSSH gegeben wurden, das Skript, das es aus einer Datei für den angegebenen Server wiederherstellt, die festgelegten Anmeldeinformationen und die Schritte, die es ausführen muss, um wo anzukommen Ich möchte, dann ruft es den "Expect Code" mit all diesen Daten auf.
~ / .clusterssh / config
ssh=/home/user/bin/qs.sh
ssh_args=-a
qs.sh.
#!/bin/bash
export PATH=~/bin:$PATH
shift
case $1 in
q4|q5|q6|q7|q8|q9)
essh user1@axt$1
### essh it's some little bash script that does the things I said before and in the end it launches the expect
;;
q1|q2|q3)
essh axtr@axt$1
;;
*)
echo "GOOH"
esac
deshalb nenne ich es normalerweise so
# cssh q4 q5 q6 q7
Es funktioniert auch mit "Cluster-Aliasen" mit dem Cluster "qAll q4 q5 q6 q7". Ich kann mit cssh qAll aufrufen
Hoffe es hilft jemand anderem.
pssh
? Benötigen Sie parallel oder nur ein Programm, um mehrere SSH-Server zu verwalten?