Copiando arquivo para vários hosts

1. Copiando arquivo para vários hosts

Mike Silva Dias
netmaster

(usa XUbuntu)

Enviado em 18/07/2013 - 13:43h

Pessoal, boa tarde.

A princípio, o nome do tópico é semelhante à alguns do fórum, porém o assunto do meu tópico é diferente. Vamos lá.

Trabalho na TI de um Supermercado com aproximadamente uns 300 PDVs(computadores com distro linux privada), mensalmente troco os papéis de parede desses PDVs acessando um PDV de uma filial e copiando um a um para outro PDV, isso mesmo, um a um. Segue comando exemplo abaixo:

Exemplo 1(ip: 192.168.202.101)

root@supermercado_PDV001:~# cd /THEMES
root@supermercado_PDV001:~# scp wallpaper.ppm 192.168.202.102:/THEMES
root@supermercado_PDV001:~# scp wallpaper.ppm 192.168.202.103:/THEMES

e por ai vai.. até completar os 300 PDVs.

Tentei fazer da seguinte forma:

root@supermercado_PDV001:~# scp wallpaper.ppm 192.168.202.102:/THEMES 192.168.202.103:/THEMES

Beleza, ele pediu a senha root para o primeiro host, digitei e ele copiou o arquivo. Pediu a senha para root para o segundo host, digitei, porém apareceu a seguinte mensagem:

root@supermercado_PDV001:/THEMES# scp wallpaper.ppm 192.168.202.102:/THEMES 192.168.202.103:/var/THEMES
root@192.168.202.103's password:
wallpaper.ppm 100% 900KB
root@192.168.202.102's password:
Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,password,keyboard-interactive).
lost connection

Podem me ajudar com essa dúvida?



  


2. Re: Copiando arquivo para vários hosts

Alexandre Gonçalves Monteiro da Silva
alexandregms

(usa Ubuntu)

Enviado em 18/07/2013 - 14:02h

A melhor coisa a se fazer é vc criar chave pública do host principal para os demais (que vc deseja transferir arquivos).
Em poucas palavras, vc pode fazer o seguinte:

1) No server principal, execute o comando:


ssh-keygen -t rsa


Após esta exucução, a chave privada está em "/root/.ssh/id_rsa", e a chave pública em "/root/.ssh/id_rsa.pub"

Agora você deve inserir o conteúdo do arquivo da chave publica (/root/.ssh/id_rsa.pub) no /root/.ssh/authorized_keys do servidor destino.
Exemplo:


1º) scp /root/.ssh/id_rsa.pub root@servidor_destino:/root/
2º) ssh root@servidor_destino
3º) cat /root/id_rsa.pub >> /root/.ssh/authorized_keys


Tendo isso você já consegue acessar o servidor destino, a partir do principal, sem a utilização de senha.

Obs: Para este caso utilizei o usuário root, por isso a pasta padrão é /root/.ssh, mas pode ser para qualquer usuário!


3. Re: Copiando arquivo para vários hosts

Alexandre Gonçalves Monteiro da Silva
alexandregms

(usa Ubuntu)

Enviado em 18/07/2013 - 14:26h

Depois que vc tiver configurado tudo, podemos trabalhar num script de looping para copiar os arquivos para os outros servidores de uma só vez, sem a necessidade de digitar o scp inúmeras vezes!
Aí ja seria outro tópico..


4. Re: Copiando arquivo para vários hosts

Mike Silva Dias
netmaster

(usa XUbuntu)

Enviado em 18/07/2013 - 15:17h

Show. Assim que sobrar um tempinho(máx. 2 dias) vou realizar os procedimentos e te dou o retorno, pois preciso montar um ambiente de teste.


5. Re: Copiando arquivo para vários hosts

William Amaral de Souza
Williamm

(usa Linux Mint)

Enviado em 18/07/2013 - 22:24h

Opa, boa dica do Alexandre, porém também da para usar o sshpass em questão de segurança não é muito bom, mas em caso de formatação de algum pdv não é preciso gerar uma nova key e tudo mais....

então da para colocar em um diretório por exemplo Telas e dentro do mesmo criar o script e colocar o wallpaper.ppm, ai sim começa a brincadeira, cria um arquivo por exemplo pdvs.txt e nele coloca todos os ips dos pdvs um a baixo do outro, e no script algo assim


#!/bin/bash
for i in $( cat pdvs.txt)
do
sshpass -p senha scp wallpaper.ppm usuario@$i:/THEMES
done


Testa modifica algo pois não cheguei a testar e vê no que da, também vai precisar logar pelo menos uma vez em cada pdv de onde for executar o script para adicionar a chave no known_hosts depois é só executa, ha, outra isso supondo que tenha um mesmo usuario com a mesma senha em todos os pdvs.


6. Re: Copiando arquivo para vários hosts

Mike Silva Dias
netmaster

(usa XUbuntu)

Enviado em 19/07/2013 - 08:55h

Legal a ideia. Segue esse raciocínio mesmo e é um pouco mais fácil de realizar, a lógica é boa, só faltam mesmos os testes.


7. Re: Copiando arquivo para vários hosts

Ramon Beterli
sujeitosuspeito

(usa Fedora)

Enviado em 19/07/2013 - 20:55h

Boa tarde

Segue uma dica...

tu podes montar um servidor de arquivos samba.
no pdv tu monta a pasta do servidor samba no pdv na local da pasta THEMES que tem no pdv
assim basta colocar as imagens no servidor e quando quizeres alterar, basta modificar no servidor e todos os pdvs vao se atualizar tambem.

Varias lojas, imagens diferente cria uma pasta diferente para cada loja.

Falou






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts