O script que utilizo para acessar várias maquinas via ssh utilizando autenticação normal se encontra nesse link: http://pastebin.com/BTXDxvLU
Espero que possa ser útil para alguém Att, Lawrence Waclawiak escreveu: > A solução do Fabricio é a que funcionou > > ssh r...@${vetor[$zero]} "df && echo && free -m && echo" > > Porém eu aconselho fortemente substituir o "&&" por " ;", pois usando > o && se um comando der errado os outros não são executados. > > Veja os exemplos: > > # Com todos os comando executados com sucesso e usando "&&" > l...@lbw-laptop:~/tmp$ ssh r...@10.10.50.14 "df && echo && free -m && > echo" > Filesystem 1K-blocks Used Available Use% Mounted on > /dev/sda2 29753588 7312640 20905136 26% / > /dev/sda4 167662204 78348136 80659856 50% /var > /dev/sda1 101086 17781 78086 19% /boot > tmpfs 4087008 0 4087008 0% /dev/shm > > total used free shared buffers cached > Mem: 7982 7924 57 0 373 6541 > -/+ buffers/cache: 1010 6972 > Swap: 8997 0 8997 > > # Com o df passando um argumento inválido e usando "&&" > l...@lbw-laptop:~/tmp$ ssh r...@10.10.50.14 "df --naoexiste && echo && > free -m && echo" > df: unrecognized option `--naoexiste' > Try `df --help' for more information. > l...@lbw-laptop:~/tmp$ > > # O mesmo de cima mas usando o ";" > l...@lbw-laptop:~/tmp$ ssh r...@10.10.50.14 "df --naoexiste ; echo ; > free -m ; echo" > > total used free shared buffers cached > Mem: 7982 7937 45 0 373 6540 > -/+ buffers/cache: 1023 6958 > Swap: 8997 0 8997 > > df: unrecognized option `--naoexiste' > Try `df --help' for more information. > l...@lbw-laptop:~/tmp$ > > Pegou a questão? > > > Thiago Diniz da Silveira escreveu: >> Bom.. até agora não sei qual solução funcionou.. >> >> foi colocar os comandos ao lado do comando do ssh? a primeira solução >> proposta? >> >> Também acho que deve ter jeito mais fácil e/ou pronto para fazer isso >> que >> ele quer. >> >> Em 27 de maio de 2010 15:24, Lawrence Waclawiak >> <lawrence...@yahoo.com.br>escreveu: >> >> >>> 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<spinal_df%40yahoo.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<shell-script-unsubscribe%40yahoogrupos.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 >>>> >>>> >>>> >>>> >>>> >>> >>> >>> >> >> >> [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 >> >> >> >> > >