tunnel rsync: // protocolo sobre ssh

2

na minha LAN (servidor debian, windows client) Eu uso o protocolo rsync: // com este código

cwRsync\rsync.exe -avLP --force --append-verify rsync://rsync-usb@server/rsync-usb/* usb/

Eu li, que o rsync no modo daemon com o protocolo rsync: // não usa criptografia, então se eu quiser usar o rsync na internet, eu quero usar a criptografia. Eu gosto da simplicidade do rsync: // user @ server / module.

Eu não quero usar o usuário ssh com login permitido, porque eu não quero dar acesso ao meu servidor.

Eu criei um usuário com login bloqueado

rsyncssh:x:1001:1007:,,,:/tmp:/bin/false

Existe uma maneira de encapsular o protocolo rsync: // sobre o ssh? por exemplo, com plink.exe (putty link) e chave de usuário privada?

    
por Coudy 26.05.2015 / 14:23

2 respostas

5

Costumo usar o tunelamento de porta SSH para criar um canal criptografado. Como você está usando uma URL rsync:// , presumo que você tenha o daemon rsync em execução na porta TCP 873 no servidor remoto. Podemos encaminhar esta porta da seguinte forma:

ssh -N -L 873:localhost:873 rsyncssh@server

A opção -N impede a execução de um comando remoto, o que, no seu caso, desconectaria a sessão já que não há shell válido. Agora você pode sincronizar com seu servidor remoto conectando-se a ele na porta encaminhada no host local, ou seja, executando o comando antigo, mas substitua @server por @localhost .

Você também pode adicionar a opção -f ao comando SSH para mover o SSH para o segundo plano, o que pode ser útil se você quiser deixar a conexão aberta o tempo todo. Eu recomendaria o login com uma chave privada para conveniência e segurança.

Caso você não tenha um daemon rsync em execução no servidor remoto, configure-o e use a documentação em man 5 rsyncd.conf , se necessário.

    
por 26.05.2015 / 17:06
-1

O rsync pode usar diretamente o ssh, usando -e

rsync -avP -e /home/share/ remote:/home/share

caso contrário, um túnel funciona bem, outra solução pode ser stunell

    
por 26.05.2015 / 18:48

Tags