ssh para vários hosts e execute um comando [duplicate]

1

Como faço para ssh em vários hosts (por exemplo, host1, host2, host3, etc) e cat /etc/fstab para gerar report.txt ?

    
por user2503273 20.06.2013 / 23:16

2 respostas

4

Você pode fazer isso assim:

for i in username1@host1 username@host2; do ssh $i cat /etc/fstab >> raport.txt; done

Contanto que você tenha a autenticação de chave pública ssh configurada em seus hosts (host1 & host2), se não, você será solicitado a fornecer uma senha para cada host.

    
por 21.06.2013 / 00:35
2

Sim, você pode ssh hostname command e redirecionar a saída para seu report.txt

O script a seguir para obter esse relatório de todos os seus hosts. servername.dat contém todos os nomes de host.

 #!/bin/sh
 SERVERLIST=servername.dat
 ICMD='cat /etc/fstab'
 while read SERVERNAME
 do
    ssh -n $SERVERNAME $ICMD > $SERVERNAME_report.txt
 done < "$SERVERLIST"
    
por 20.06.2013 / 23:34