W pliku .txt znajduje się lista adresów IP, np .:
1.1.1.1
2.2.2.2
3.3.3.3
Za każdym adresem IP znajduje się serwer, a na każdym serwerze znajduje się sshd działający na porcie 22. Nie każdy serwer znajduje się na known_hosts
liście (na moim komputerze, Ubuntu 10.04 LTS / bash).
Jak uruchomić polecenia na tych serwerach i zebrać dane wyjściowe?
Idealnie byłoby, gdyby polecenia były uruchamiane równolegle na wszystkich serwerach.
Będę używać uwierzytelniania za pomocą klucza publicznego na wszystkich serwerach.
Oto niektóre potencjalne pułapki:
- Ssh monituje mnie o umieszczenie podanego klucza ssh serwera w moim
known_hosts
pliku. - Podane polecenia mogą zwrócić niezerowy kod wyjścia, wskazując, że dane wyjściowe są potencjalnie nieprawidłowe. Muszę to rozpoznać.
- Nie można nawiązać połączenia z danym serwerem, na przykład z powodu błędu sieci.
- Powinien istnieć limit czasu na wypadek, gdyby polecenie działało dłużej niż oczekiwano lub serwer przestał działać podczas uruchamiania polecenia.
Serwery to AIX / ksh (ale myślę, że to naprawdę nie ma znaczenia.