Rsync sobre ssh com senha no comando em vez de usar chaves

1

A situação é o nosso cliente quer baixar o backup mais recente do nosso servidor (e eles não nos querem configurá-lo para eles via rdesktop etc .. (suspiro)). O cliente está rodando windows, o servidor é linux.

Eu não quero ter que escrever um guia longo e complicado para que eles criem a chave de autenticação pub / pri, pois eles sem dúvida perderão todo o seu tempo e o nosso. Vou fazê-los instalar o cwRsync, que é apenas o rsync para windows.

Normalmente, eu usaria uma configuração de chave pública / privada para fazer isso e configurá-la com segurança, mas isso não é uma preocupação muito grande.

Como eu especifico uma senha para ssh na linha de comando do rsync? Estou acostumado a: rsync -avz someone @ somehost: / blah.

Felicidades, João

    
por John Hunt 09.03.2011 / 01:20

3 respostas

3

How do I specify a password for ssh on the command line for rsync?

A resposta curta é que você não pode. O SSH é projetado para impedir que você faça isso. O cwRsync é uma instalação do cygwin extremamente simplificada que possui apenas ssh / rsync. As ferramentas que você pode usar como sshpass ou esperar não estarão presentes.

Eu realmente duvido que você economize tempo tentando fazer com que eles usem uma senha, dadas as limitações acima.

Geralmente, é uma má idéia, mas se você tiver um método de comunicação seguro entre você e eles, considere a possibilidade de gerar o par de chaves para eles e, em seguida, transmitir a chave privada para eles. Não parece que seria muito pior do que permitir que eles tivessem uma senha armazenada em um arquivo de script / texto em algum lugar.

    
por 09.03.2011 / 01:32
1

Você não poderá fazer isso sem um daemon rsync. Confie em mim, tentei muitas vezes antes de escolher a solução-chave (que é de longe muito mais fácil e mais segura). Então, enquanto há muitas opções mostrando que você pode fazer algo assim:

rsync -avz -e ssh rsynctest/  username@***.***.***.***:/home/directory/rsynctest --password-file=/home/username/rpass

Não acredite neles. Não perca seu tempo. Não vai funcionar só porque você tem rsync e ssh instalados. Até você entender como fazer a transferência sem ssh (e eu perdi meu tempo por um tempo até que eu verificado que não foi fácil) e conseguir um daemon rsync rodando que nunca dará certo. Aqui estão duas boas leituras se você ainda quiser tentar (se você ainda não seguiu o bom conselho do Zoredache ).

ligação (vamos festejar como se fosse 1999 - a sério, que é quando ele foi escrito)

ligação

Eu deixei cair minhas tentativas de fazer esse trabalho anos atrás, fui com as teclas sobre o ssh, e nunca olhei para trás.

    
por 09.03.2011 / 02:57
0

Você pode usar sshpass assim:

sshpass -p 'YourPasswordHere' rsync -av --delete -r -L -k -h 

[email protected]:/var/www/images /home/swayxp/test-sync/
    
por 01.10.2015 / 20:31