Como executar um comando em vários hosts usando apenas o IPv6?

4

Primeiro de tudo, há pdsh que é essencialmente um shell distribuído paralelo que pode executar comandos em uma lista de hosts fornecidos. No entanto, eu me encontro em uma configuração de problema somente IPv6. Parece que o pdsh não é capaz de usar o IPv6, pois estou recebendo mensagens de erro:

pdsh -w ^hostnames my_command
pdsh@myhost: gethostbyname("foobar") failed

Eu também tentei usar apenas endereços IPv6, o que também não funcionou. Então, como você executa um único script de shell para propósitos administrativos (sem SGE, ou similar) em um monte de hosts que só podem ser acessados pelo IPv6?

    
por math 26.10.2012 / 17:38

3 respostas

1

ClusterSSH pode usar o SSH em vários hosts e replicar suas combinações de teclas para todos ou um subconjunto dos hosts aos quais você se conectou. Ele funciona no Linux e em alguns UNIXes. O ClusterSSH pode ser usado interativamente ou você pode fornecer um comando para ser executado no host remoto usando o sinalizador -a. No entanto, tanto quanto eu sei, é necessário um servidor X, porque é um aplicativo GUI.

No meu sistema, ele usa o OpenSSH para abrir a conexão SSH, para que seja possível alcançar destinos somente IPv6.

    
por 21.11.2012 / 17:57
0

Supondo que você tenha daemons ssh em execução, e eles foram ligados à interface IP6 (/ etc / ssh / sshd_config ListenAddress) O seguinte script de shell deve mais ou menos fazer o que você quer:

for  hostName in 'cat serverList.txt'
do
    (ssh userName@$hostName  'command' &) 2>&1 >> "${hostname}.log"
done

Veja também: link

    
por 07.12.2012 / 14:48
0

Eu gosto do Dancer's Shell / Distributed Shell:

link

Como ele usa o SSH, se seus hosts forem acessados pelo IPv6 e rodarem o sshd, você estará bem.

Está empacotado no Debian e no Ubuntu pelo menos.

    
por 24.03.2013 / 22:41