Rsync sem senha

Como fazer a sincronização e/ou backup de dados entre máquinas usando SSH sem senha. De quebra ainda vamos criar um script para efetuar o backup diário de seu diretório de dados.

[ Hits: 97.835 ]

Por: Paulino Michelazzo em 31/03/2004 | Blog: http://www.michelazzo.com.br


Incrementando o script



Uma reclamação existente é que não existe um arquivo de log para o acompanhamento do que foi feito pelo script. Mas este problema pode ser resolvido com um redirecionamento de saída de tela para um arquivo, da seguinte forma:

#!/bin/bash
#
# backup.sh
#Script para fazer copia de arquivos do servidor para a maquina de backup
#
# Criado por Paulino Michelazzo - paulino@michelazzo.com.br
# Versão 1.0 - marco/04
#
#

SYNC_LOG=/var/log/rsync.log # local onde o arquivo de log será armazenado
# Delimitador de entrada de log
echo "******************************" >> $SYNC_LOG
date >> $SYNC_LOG
echo "Inicio da sincronização" >> $SYNC_LOG
rsync -avz root@maquina_remota:/origem_dos_dados/ /destino_dos_dados/ >> $SYNC_LOG
echo "Fim da sincronização" >> $SYNC_LOG
echo "******************************" >> $SYNC_LOG

Com as alterações acima propostas, todas as saídas do script serão redirecionadas para o arquivo /var/log/rsync/log, o qual poderá ser lido com qualquer editor de sua preferência, sendo que as informações relativas a execução do script ficam entre os comentários "Início" e "Fim" da sincronização.

Outras mudanças podem acontecer, tais como escolher somente alguns arquivos ou um a inclusão de vários outros diretórios no mesmo script para a operação de backup. Estas mudanças podem ser implementadas por qualquer um da forma que for mais conveniente para cada cenário.

* A grafia está abreviada para Linux, sendo o nome correto GNU/Linux

Fonte:
http://www.michelazzo.com.br/tiki-index.php?page=Rsync+sem+senha

Página anterior    

Páginas do artigo
   1. Introdução
   2. Incrementando o script
Outros artigos deste autor

Traduzindo software com qualidade

O software livre e as novas oportunidades

Liberte seus documentos

O que você vai ser quando crescer?

Força-tarefa brasileira disponibiliza versão do TikiWiki em Português do Brasil

Leitura recomendada

Instalação da impressora HP LaserJet M1005 no Ubuntu 7.10

OpenLdap no Debian Squeeze

Colocando seu Fluxbox totalmente transparente

Instalação do Dspace no CentOS

JASmine - Gerenciamento e controle de impressões

  
Comentários
[1] Comentário enviado por fabio em 31/03/2004 - 13:36h

Esse recurso de autenticação sem senha é muito útil, só o que economizo de digitação por dia não está no gibi. Excelente artigo!

E pra quem quiser saber um pouco mais sobre rsync, aqui mesmo no site tem um artigo que pode complementar este:

Transferindo arquivos com o rsync
http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=338

[]'s

[2] Comentário enviado por cabelo em 31/03/2004 - 14:05h

Parabens Paulo:

Só tem fera nesta comunidade! Eu estava precisando criar algo semelhante para sincronizar os códigos fontes. Com este artigo, meu problema esta resolvido.

[3] Comentário enviado por jeffestanislau em 01/04/2004 - 10:47h

Parabéns Paulo,

Seu artigo é uma mão na roda... muito útil mesmo!!!

[4] Comentário enviado por cmarcelo em 03/04/2004 - 18:43h

Aproveitando este Artigo eu gostaria de tirar uma dúvida em relação ao rsync

Por exemplo, eu tenho o servidor A e B e os arquivos x, y, z que estão no A, eu passo o 1o rsync e o servidor B fica com esses 3 arquivos, mas caso eu delete um dos arquivos em A, ele mantém em B, ou seja a origem e o destino não ficam sempre iguais....

Alguém sabe como eu resolvo isso?

[5] Comentário enviado por alphainfo em 05/04/2004 - 10:50h

Caríssimos,

acho que vale a pena abordar a questão da configuração do SERVIDOR rsync, que inclue os arquivos rsyncd.conf e rsyncd.secrets... levei muita portada até entender a existência desse arquivo.
Mas com certeza, enche os olhos da galera que desenvolve, além de quebrar meu galho fazendo uma máquina redundante.

[]'s à todos os pinguins!

Daniel

[6] Comentário enviado por alphainfo em 05/04/2004 - 10:57h

cmarcelo, o que vc quer saber é se ele consegue deletar o arquivo que foi removido do cliente no servidor?

Se o que vc quer é, por exemplo, copiar apenas os arquivos alterados, temos a flag --existing.

de novo []'s

[7] Comentário enviado por gilmol em 18/05/2004 - 17:22h

Muito bom! Vai me quebrar um galhão!

Gilmol

[8] Comentário enviado por Guaraldo em 24/11/2004 - 18:20h

Opa...

Fiz umas alteracõezinhas para torná-lo multiusuário e multiservidor...

Vê o que tu acha (chamei de versão 1.1 do script):

#!/bin/bash
#
# backup.sh
#Script para fazer copia de arquivos do servidor para a maquina de backup
#
# Criado por Paulino Michelazzo - paulino@michelazzo.com.br
# Versão 1.0 - marco/04
#
# Alterado para tornar-se multiusuário e multiservidor por:
# Luiz Guaraldo - guaraldo@universolivre.com.br
# Versão 1.1 - novembro/04
#

if [ '$2' ]; then
user=$1
serv=$2
dest=$USER
else
user=$USER
serv=$1
dest=$USER
fi

SYNC_LOG=/var/log/rsync.log # local onde o arquivo de log será armazenado
# Delimitador de entrada de log
echo "******************************" >> $SYNC_LOG
date >> $SYNC_LOG
echo "[$USER] Inicio da sincronização" >> $SYNC_LOG
rsync -avz $user@$serv:/home/$user /home/$USER >> $SYNC_LOG
echo "[$USER] Fim da sincronização" >> $SYNC_LOG
echo "******************************" >> $SYNC_LOG

[9] Comentário enviado por pmichelazzo em 24/11/2004 - 18:29h

Muito bom hein!

Vou colocar no meu site a atualização do script.

Valeu!!!

[10] Comentário enviado por tarcio em 21/09/2006 - 15:17h

+ uma versão do script


#!/bin/bash
# Tárcio Meireles - tarcio . net (a) gmail . com
log="/var/log/backup.log"
#user@serv:/origem;destino;velocidade
conf[1]="root@$192.168.0.1:/diretorio1;/mnt/bkp01;50"
conf[2]="root@$192.168.0.1:/caminhodiretorio2;mnt/bkp02;40"

for X in ${conf[*]}
do
origem=$( echo $X | cut -f1 -d";")
dest=$( echo $X | cut -f2 -d";")
veloc=$( echo $X | cut -f3 -d";")
dti=$(date +%F-%X)
echo "rsync --bwlimit=$veloc -Cravzp $origem $dest"
dtf=$(date +%F-%X)
echo "I:$dti|F:$dtf|$origem|$dest|$veloc" >> $log
done

neste caso fica + facil configurar pois é só informar a origem o destino e a velocidade

[11] Comentário enviado por renatopradop em 08/12/2006 - 15:17h

olá amigao... blz? olha soh, seu artigo me quebrou um galhão, foi otimo e resolveu meu problema 100%, so que me gerou outro problema q naum consigo resolver.
Quando estas chaves são geradas, os servidores de origem e destino estabelecem uma relação de confiança, permitindo q eu consiga loga em um e em outro sem autenticação, como eu faço pra desabilitar isso após a transferencia do rsync, ou seja, desabilitar essa chave RSA ? e so habilitá-la na hora da transferencia ? []'s

[12] Comentário enviado por apamaio em 29/06/2007 - 15:44h

Meus parabéns pelo artigo e muito obrigado. Obrigado pois vai facilitar muito meu trabalho de backups do server Linux. Após fazer algumas adaptações irei começar a busca por uma solução de Win para Linux (se é que existe).
Grand abraço.

[13] Comentário enviado por mariomol em 08/02/2008 - 16:45h

Ola, muito bem! Mas comigo, testando em 8 servers, apenas consegui em um! Nos demais só funciona sem senha usando a chave para o usuário root! Qualquer outro usuário que tento criar a chave nao funciona, ele pede senha! Já tentei com rsa, dsa e copio sempre em /home/usuario/.ssh , somente com root q fica em /root/.ssh/! Alguma dica? Obrigado

[14] Comentário enviado por pmichelazzo em 08/02/2008 - 16:49h

Olá Mariomol

Quais são os SO's que está testando? Este artigo está no ar há 4 anos e poucos foram os problemas que tive report dele.

Poderia fornecer maiores infos?

Abs

[15] Comentário enviado por actdl em 04/11/2008 - 19:45h

Prezado colega, primeiramente parabéns pelo seu artigo. Estou enfrentando agora um problema sobre seu artigo, que ainda não consegui resolver, que é o seguinte:
Re-instalei o servidor remoto e esqueci a passphrase do servidor de backup. Alterei o passphrase do sv bkp, e não consigo mais estabelecer uma relação contínua entre os dois, pq este servidor que NÃO foi formatado recusa o acesso do outro por ssh, em razão do codigo RSA gerado. Como refazer o codigo RSA? se alguem puder indicar um artigo, eu agradeço!

[16] Comentário enviado por actdl em 07/11/2008 - 00:15h

resolvi o problema acima, mas de maneira insegura, coloquei o passphrase vazio, pq se for colocado algo, os servidores pedirão este passphrase, e o cron não executará o rsync. Se tiver alguém uma dica de colocar o passphrase com palavras, e estabelecer a sincronia com o cron, me digam! ah, sobre o RSA do servidor que já tinha uma relação de confiança, movam ou apaguem /root/.ssh/know..., esqueci o nome todo do arquivo agora. hehehe

[17] Comentário enviado por sakaiarnaldo em 26/07/2009 - 18:36h

estacao windows e servidor de backup linux.
como deixar rsync na estacao windows sem senha.
preciso copiar estacao xp para o servidor linux sem pedir senha.

[18] Comentário enviado por removido em 31/05/2010 - 12:17h

exelente artigo!

estava procurando apenas como usar o ssh sem senha e ele funcionou perfeitamente aqui no meu debian!

[19] Comentário enviado por DonFellipe em 12/08/2010 - 03:41h

Muito obrigado, me foi muito útil!
Um abraço

[20] Comentário enviado por selvaking em 25/02/2011 - 19:04h

Valeuz! Foi uma mão na roda! E viva o Linux!

[21] Comentário enviado por Carlos Domingues em 14/02/2012 - 14:48h

Fiz o procedimento conforme orientado, mesmo assim pede senha na hora do sicronismo. Indepedente se aciono o sync do receptor ou do origem.


[22] Comentário enviado por rogeriosilverio em 14/11/2012 - 15:10h

Perfeito! Simples e Objetivo...Me ajudou bastante... Parabéns!

[23] Comentário enviado por rappa888 em 02/10/2014 - 12:56h

amigo, aqui funcionou.. mas só quando estou com a porta ssh 22.

no caso os meus ssh tem a porta 2230, ai este comando:
rsync -avz --rsh='ssh -p2230' /tmp root@192.168.5.66:/tmp

ai desta maneira continua pedindo senha, podes me ajudar ?


[24] Comentário enviado por gucoelho em 12/05/2015 - 10:11h

Para contribuir com o artigo

Talvez é necessário dar permissão 644 para o arquivo authorized_keys e só deu certo após dar essa permissão :
# chmod 644 authorized_keys


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts