C'è un elenco di indirizzi IP in un file .txt, ad es .:
1.1.1.1
2.2.2.2
3.3.3.3
Dietro ogni indirizzo IP c'è un server, e su ogni server c'è un SSH in esecuzione sulla porta 22. Non tutti i server sono known_hosts
nell'elenco (sul mio PC, Ubuntu 10.04 LTS / bash).
Come posso eseguire comandi su questi server e raccogliere l'output?
Idealmente, vorrei eseguire i comandi in parallelo su tutti i server.
Userò l'autenticazione con chiave pubblica su tutti i server.
Ecco alcune potenziali insidie:
- Lo ssh mi chiede di inserire la chiave ssh del mio server nel mio
known_hosts
file. - I comandi forniti potrebbero restituire un codice di uscita diverso da zero, indicando che l'output è potenzialmente non valido. Devo riconoscerlo.
- Potrebbe non essere possibile stabilire una connessione a un determinato server, ad esempio a causa di un errore di rete.
- Dovrebbe esserci un timeout, nel caso in cui il comando venga eseguito più a lungo del previsto o il server si arresti durante l'esecuzione del comando.
I server sono AIX / ksh (ma penso che non contano davvero.