Sua solução funcionou para mim.

Adicionalmente se não for possivel utilizar as chaves para não pedir 
senha pode-se usar um progrma chamado sshpass para passar a senha para o 
ssh, utilizo isso para disparar comandos para várias maquinas que administro



Fabricio Candido escreveu:
> Luiz, bom dia.
>
>    Isso nao seria bem shell mas como vc esta usando ssh, Uma sugestão: mude
> as linhas:
>
> ssh r...@${vetor[$zero]}
>     df && echo && free -m && echo
>     exit
>
> por:
>
> ssh r...@${vetor[$zero]} "df && echo && free -m && echo"
>
>
> Att.
>
> Fabricio Candido
>
> 2010/5/27 Luiz guilherme Nunes Fernandes <spinal...@yahoo.com.br>
>
>   
>> Prezados, tudo bem?
>>
>> Estou com o seguinte problema, montei um script, que não funciona
>> corretamente, gostaria que ele fizessse conexão ssh entre umas 100 máquinas
>> aproximadamente. Dentro dos vetores eu iria adicionando os ips de minha
>> rede, os servidores já possuem chaves assimétricas. Gostaria que ele
>> conectasse um por um deles e desconectassem, como seria para eu desconectar
>> no servidor com o próprio script na máquina local. Quando ele se conecta ao
>> primeiro ip, ele não fecha a coneção do ssh.
>>
>> #!/bin/bash
>>
>> #Desenvolvido por Luiz Guilherme Nunes Fernandes
>>
>> rddez="10.10."
>> rdcnd="192.168."
>>
>> #Rede 10.10.0.0
>> vetor=("$rddez"190.10 "$rddez"190.12)
>>
>> #Rede 192.168.0.0
>> array=("$rdcnd"10.2 "$rdcnd"10.3)
>>
>> echo "###############"
>>
>> ################################
>> ########## Rede 10.10 ##########
>> ################################
>>
>> cont=${#vetor[*]}
>> zero=0
>> while [ $zero -lt $cont ]; do
>>     echo ${vetor[$zero]}
>>     ssh r...@${vetor[$zero]}
>>     df && echo && free -m && echo
>>     exit
>>     zero=$[zero + 1]
>>     echo "###############"
>> done
>>
>> ################################
>> ######### Rede 192.168 #########
>> ################################
>>
>> contt=${#array[*]}
>> inicial=0
>> while [ $inicial -lt $contt ]; do
>>     echo ${array[$inicial]}
>>     ssh r...@{array[$inicial]}
>>     df && echo && free -m && echo
>>     exit
>>     inicial=$[inicial + 1]
>>     echo "###############"
>> done
>>
>> Att.
>> Luiz Guilherme Nunes Fernandes
>>
>> [As partes desta mensagem que não continham texto foram removidas]
>>
>>  
>>
>>     
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> ------------------------------------
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como 
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
> aviso.
> ---------------------------------------------------------------------
> Sair da lista: shell-script-unsubscr...@yahoogrupos.com.br
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em 
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
> Servidor Newsgroup da lista: news.gmane.org
> Grupo: gmane.org.user-groups.programming.shell.brazil
>
> Links do Yahoo! Grupos
>
>
>
>   


Responder a