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.