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?