A estratégia mais simples é logar no remoteserver e a partir daí rodar o comando rsync , com privilégios sudo.
Suponho que você esteja trabalhando no Linux em ambas as máquinas.
Vamos chamar localuser o nome de usuário no localserver , e remoteuser o nome de usuário no remoteserver .
- No localserver está montado uma unidade externa no caminho
/media/MyUsb
- No remoteserver , há um diretório chamado
/data/DirToSync
.
localuser@localserver ~> ssh -X remoteuser@remoteserver
Ele deve perguntar a você a senha do remoteuser no remoteserver e depois mostrará o prompt no servidor remoto:
remoteuser@remoteserver ->
Aqui você pode escrever o comando rsync :
sudo rsync -av /data/DirToSync localuser@localserver:/media/MyUsb
Ele perguntará antes da senha para sudo
na máquina remota (a de remoteuser @ remoteserver ) e depois da senha do destino (a de localuser @ localserver).
Notas
- Você precisa estar na lista de sudoers da máquina remota (isso significa que você tem que ter o direito para executar
sudo
). Tente fazersudo ls
no servidor remoto e forneça sua senha quando solicitado. Se ele executar o comandols
, você está nessa lista. (Deve ser um caso realmente raro e inseguro se você estiver nessa lista e não precisar de senha; nesse caso, você não precisará escrever a senha parasudo
). - Não serão solicitadas as senhas para as
ssh/rsync
conexões se você tiver gerado e instalado o ssh -chaves . - via
ssh
você pode até enviar o comandosudo
pararsync
para o localhost, mas é uma sintaxe um pouco mais complexa, veja aqui por exemplo , e você pode incorrer em algum problema por causa desudo
em alguma versão do linux.