rsync com ssh (RESOLVIDO)

Iniciado por amelotti, 24 de Março de 2010, 11:33

tópico anterior - próximo tópico

amelotti

Pessoal, tenho um script aqui que faz o backup de um usuário que usa um notebook. O comando para sincronzar os dados no note dele com os no servidor é:
rsync --rsh=ssh -v -r -l -H -p -g -t --delete . --exclude-from=/Users/usuario/.rsync-exclude servidor:"/home/usuario"
(este script já estava assim quando eu cheguei e, teoricamente, funcionando).
Só que de uns tempos pra cá o script parou de funcionar, pois não está mais autenticando no servidor
Permission denied, please try again.
Permission denied (publickey,password).
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: unexplained error (code 255) at /SourceCache/rsync/rsync-35.2/rsync/io.c(452) [sender=2.6.9]

Eu tentei incluir o parâmetro -i, para usar um par de chaves - sem senha - para poder autenticar sem senha. Mas aparentemente o comando não está usando a chave, pois continua pedindo a senha (quando eu coloco a senha, ele funciona corretamente). O comando, alterado, ficou assim:
rsync --rsh=ssh -i /Users/usuario/backup_id -v -r -l -H -p -g -t --delete . --exclude-from=/Users/usuario/.rsync-exclude servidor:"/home/usuario"

Eu já procurei alguma referência, mas ainda não achei nada ainda. Eu nunca usei muito o rsync, então tô meio perdido nessa questão. Alguém sabe onde está o problema?

[]'s

amelotti

Consegui resolver. Deveria colocar o ssh -i /Users/usuario/backup_id dentro de aspas, desta forma:
rsync --rsh="ssh -i /Users/usuario/backup_id" -v -r -l -H -p -g -t --delete . --exclude-from=/Users/usuario/.rsync-exclude servidor:"/home/usuario"
O rsync estava considerando o -i como um parâmetro seu. E eu, estupidamente, não pensei nisso...

Bom, pelo menos fica a dia pra quem mais precisar.

[]'s