rsync com senha fornecida pelo script

3

Eu preciso ter um script periodicamente arquivos rsync de um host remoto via ssh. A conta na qual o script é executado não possui o diretório inicial no host remoto, portanto, não posso armazenar minha chave pública no host remoto. Fico feliz em armazenar minha senha em um arquivo no meu host local, mas não consigo fazer o rsync usar a senha.

A opção --password-file é apenas uma opção para se conectar a um daemon rsync, e o prompt de senha não lê de stdin.

    
por brianegge 18.11.2009 / 23:07

2 respostas

5

Você já olhou para espera ?

    
por 18.11.2009 / 23:46
5

Procure o programa sshpass em sua distribuição. Depois de ter isso, você pode fazer:

rsync –e 'sshpass -f passwordfile ssh -l user' host:path

ou colocando tudo em um arquivo:

rsync –e 'sshpass -d 300 ssh -l user' host:path 300<<<'password'

Você pode querer alterar a opção AuthorizedKeysFile no sshd_config do servidor remoto, se essa for uma opção, para que você possa configurar sua chave pública sem um diretório base. Nesse caso, seria algo como /home/%u/.ssh/authorized_keys , para minimizar potenciais conflitos com outros usuários no sistema.

    
por 21.11.2009 / 15:51

Tags