Pages

Google Ads

Tuesday, March 03, 2009

Enviando arquivo pela rede de um servidor linux para outro servidor Linux utilizando o SSH (sem autenticação)

Essa tarefa a principio parece algo bem simples quando se trata de enviar um arquivo de um servidor
linux para outro servidor linux através do ssh via linha de comando, basta utilizar o comando

# scp /pastaorigem/nomedoarquivo.tar.gz usuario@ipdamaquina:/pastadestino/

O grande lance é que usando o comando acima você terá que digitar a senha do usuário e isso para um script de backup por exemplo
que precisa fazer isso automáticamente não funciona, ou seja, a maquina precisa digitar a senha e fazer todo o processo.

Então, eis a questão: Como fazer isso?

Existem várias formas você pode enviar através de ftp, email ou até mesmo pelo samba, mas na minha visão nada mais seguro que utilizar o ssh e para isso
será preciso usar o comando scp mencionado acima porém fazer alguma coisa para não precisar digitar a senha.

Bom vamos lá então, vamos passar a dica. Aqui vai um passo a passo de como fazer:

1) No servidor de origem digite no terminal:

# ssh-keygen -t rsa

Aperte a tecla enter até voltar ao terminal, dessa forma será escolhido as opções corretas.

Isso vai gerar 2 arquivos dentro da pasta /home/.ssh/ chamados id_rsa e id_rsa.pub.

2) Copie o conteúdo do arquivo id_rsa.pub e cole dentro do arquivo /home/.ssh/authorized_keys na máquina de destino.

Isso fará com que o ssh reconheça que há um sistema chave-fechadura para ambas as máquinas e autorizará a conexão ssh sem senha.

Algumas vezes você não terá o arquivo authorized_keys para isso basta criar utilizando o próprio vi com o comando

# vi authorized_keys

No caso do usuário ser o root precisa colar em /root/.ssh/authorized_keys

Depois de feito essas alterações é só rodar o comando anterior para que o arquivo seja enviado automaticamente sem precisar de senha.

# scp /pastaorigem/nomedoarquivo.tar.gz usuario@ipdamaquina:/pastadestino/

Vantagens
- Ambos os servidores trocam arquivos de forma extremamente segura, todo administrador de servidores linux conhece a fama do protocolo ssh, realmente
ele é seguro e dá para confiar.

No comments: