Shell Script que toca várias outras máquinas sobre o ssh?

1

Eu tenho uma lista de máquinas Linux, cerca de 90 ou mais.

Estes são salvos em um arquivo como Host, USR, PW.
Existe uma maneira que eu possa ler esta lista e, em seguida, conectar-se a cada host e executar comandos X, Y, Z

No passado, eu tocava cada máquina separadamente e apenas executava os comandos manualmente.
Leva para sempre. Deve haver uma maneira melhor.

    
por madmaze 16.12.2010 / 14:02

5 respostas

1

O modo em lote SSH deve fazê-lo. Discutido aqui: link

ssh -o "BatchMode yes" ramesh@remote-host who

para usar nomes de usuários e senhas, você pode precisar fazer algum trabalho com o esperado. usar chaves pré-compartilhadas é necessário para o modo batch

    
por 16.12.2010 / 15:30
1
por 16.12.2010 / 14:07
1

Você pode usar ssh com chaves de autenticação.

Então você pode se conectar a todos os servidores com ssh e executar seus comandos.

Explicado aqui - > link

para ler o arquivo você pode usar o awk para filtrar apenas os hosts

cat file.txt | awk {print $ 1} (não sabe o arquivo, então este é um exemplo)

    
por 16.12.2010 / 14:11
1
por 16.12.2010 / 14:36
0

Dê uma olhada no MCollective do Puppet Labs e no plug-in shellcmd-agent .

    
por 19.12.2010 / 23:59