Backup remoto usando SSH

Neste artigo irei mostrar uma maneira de realizar um backup remoto de arquivos de configuração de servidores, usando shell script e chaves ssh.

[ Hits: 39.254 ]

Por: Fernando R. Durso em 04/02/2008


Cenário



Imagine a situação em que devemos gerenciar muitos servidores remotamente, inclusive em outras cidades... este é o meu caso e percebi a necessidade de manter um backup atualizado das configurações dos servidores que gerencio, pois em caso de perda de um deles a recuperação se daria com uma instalação do sistema e depois descompactar um arquivo na raiz do sistema sobrescrevendo os arquivos necessários.

Então desenvolvi 2 scripts que fazem isso, um fica nos servidores sendo executado pela cron gerando os arquivos com o backup e outro na minha máquina para realizar o download e gerar um log simples.

Para a comunicação resolvi utilizar o ssh e para não precisar digitar senha usei autenticação por chaves.

Preparando a comunicação

Para realizar as conexões via ssh sem a necessidade de senha, primeiro gere as chaves da sua estação:

$ ssh-keygen -q -t rsa1 -N "senha_chave" -f ~/.ssh/identity
$ ssh-keygen -q -t rsa -N "senha_chave" -f ~/.ssh/id_rsa
$ ssh-keygen -q -t dsa -N "senha_chave" -f ~/.ssh/id_dsa


Agora você precisa copiar a sua chave pública para as máquinas remotas.

$ scp ~/.ssh/id_rsa.pub user@remota:~/.ssh/authorized_keys2
$ scp ~/.ssh/identity.pub user@remota:~/.ssh/authorized_keys


Pronto! feito isso a sua estação poderá se logar com o usuário user.

Obs:

1. O seu usuário não precisa ser o "user", mas você se logará como "user" nos servidores remotos.

2. Após copiar a authorized_keys2 quando você for copiar a authorized_keys você perceberá que o pedido de senha mudou, você deverá entrar com a "senha_chave" e não mais com a senha de "user".

Aí você pergunta: Mas ainda pede senha! Sim é verdade, só que aí na sua estação você irá digitar o comando ssh-add ele vai te pedir uma senha, você coloca a "senha_chave" e pronto, na próxima vez que você logar vai direto!

Também não fiz o procedimento como root para ter uma maior segurança, vai que a chave cai na mão de quem não deve...

    Próxima página

Páginas do artigo
   1. Cenário
   2. Script de backup
   3. Script que realiza o backup remoto
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Aprisionamento Tecnológico

Como manter GNOME2 em Sabayon Linux

CentOS como terminal server autenticando em Windows Server 2003 Active Directory com montagem automática de compartilhamentos de rede

Como ver as informações de rede no Linux

A arte do tetra-boot

  
Comentários
[1] Comentário enviado por AndreFranca em 05/02/2008 - 23:29h

Vou testar em meus clientes....
Já foi "pros" favoritos!!!!
valeu!!!

[2] Comentário enviado por removido em 17/02/2008 - 13:32h

ola vc pode me dar mais detalhes de como faço esse backup, é que sou iniciante. Detalhes como: eu quero copiar os diretorios que estão no /dados; /publico; /sistema; como fazer?

valeu

[3] Comentário enviado por fernandord em 18/02/2008 - 00:27h

no script de backup é só colocar os diretórios com os caminhos absolutos em "ELEMENTOS"

t+

[4] Comentário enviado por jucaetico em 07/07/2008 - 14:40h

Show, valeu!

[5] Comentário enviado por helioalb em 16/07/2008 - 10:52h

Fernando, muito bom o seu artigo, já está nos meus favoritos.
Parabéns!!!!

[6] Comentário enviado por psdrop em 27/08/2008 - 11:43h

Parabéns,

Estava precisando muito....

Obrigado

[7] Comentário enviado por tiago_s em 10/11/2008 - 18:17h

Depois de criar as chaves publibas eu digito o comand #ssh-add e ele me retorna o seguinte erro: Could not open a connection to your authentication agent.

Voce sabe o que pode estar ocorrendo?

[8] Comentário enviado por eilton em 07/05/2013 - 15:26h

Fernando boa tarde,

eu tenho um servidor na empresa que trabalho, tenho o Ubuntu 12 instalado nos terminais, e o Debian instalado no servidor, já criei os usuários e suas pastas, gostaria se possivel, como devo utilizar o script que vc criou, para que eu possa fazer os backups neste servidor, sou iniciante e gostaria de um passo-a-passo para que eu não me perca.

Desde já agradeço pela sua atenção.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts