Używam skryptów expect do automatyzacji logowania (szczególnie dlatego, że muszę przejść przez skrzynkę jumb i wprowadzić chroot i trzeba wprowadzić wiele haseł) i zrobiłem kilka „poprawek” do konfiguracji cssh. Tak więc mam ten „główny skrypt” w folderze bin, który nadał „nazwę / alias serwera”, zabiera mnie na serwer, który chcę i gdzie chcę.
W ~ / .clusterssh / config ustawiłem parametr „ssh”, aby wskazywał na mój skrypt, również „ssh_args” musi być ustawione na jakiś nieszkodliwy / fałszywy arg, to dlatego, że cssh ma domyślną listę argumentów, jeśli faktycznie jest pusta domyślna lista kończy się na skrypcie.
Tak więc skrypt (w każdym oknie / terminalu) otrzyma te argumenty i 1 argumenty podane cssh, skrypt, który odzyskuje z pliku dla danego serwera, ustawione poświadczenia i kroki, które należy wykonać, aby dotrzeć do miejsca Chcę, a następnie wywołuje „kod oczekiwania” z wszystkimi tymi danymi.
~ / .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
więc zwykle nazywam to tak
# cssh q4 q5 q6 q7
działa również z „aliasami klastrów” posiadającymi klaster „qWszystkie q4 q5 q6 q7” Mogę wywoływać za pomocą cssh qAll
Ma nadzieję, że pomoże to komukolwiek innemu.
pssh
? Potrzebujesz równoległego czy tylko programu do zarządzania wieloma serwerami SSH?