Eu tenho tentado o seguinte comando:
rsync -rvz --progress --remove-sent-files ./dir user@host:2222/path
O SSH está sendo executado na porta 2222, mas o rsync ainda tenta usar a porta 22 e depois reclama de não encontrar o caminho, porque é claro que ele não existe.
Gostaria de saber se é possível rsync para um host remoto em uma porta ssh não padrão.
rsync
de um porto estranho muitas vezes, mas cada vez é espalhado apenas o suficiente para esquecer a sintaxe.Sua linha de comando deve ficar assim:
isso funciona bem - eu uso o tempo todo sem precisar de novas regras de firewall - observe que o próprio comando SSH está entre aspas.
fonte
user@host:/path
quando você precisar enviar arquivos por uma porta SSH específica:
exemplo
fonte
use a "opção rsh". por exemplo:
consulte: http://www.linuxquestions.org/questions/linux-software-2/rsync-ssh-on-different-port-448112/
fonte
Um pouco offtopic, mas pode ajudar alguém. Se você precisar passar a senha e a porta, sugiro usar o
sshpass
pacote. O comando da linha de comando ficaria assim:sshpass -p "password" rsync -avzh -e 'ssh -p PORT312' [email protected]:/dir_on_host/
fonte
Encontrei esta solução no site de Mike Hike Hostetler que funcionou perfeitamente para mim.
fonte
A sintaxe correta é dizer ao Rsync para usar um comando SSH personalizado (adicionando -p 2222), que cria um túnel seguro para o lado remoto usando SSH e, em seguida, se conecta via host local: 873
O Rsync é executado como um daemon na porta TCP 873, que não é segura.
De Rsync man:
O que leva as pessoas a tentar isso:
No entanto, isso está instruindo-o a conectar-se ao daemon Rsync na porta 2222, que não está lá.
fonte
Não consegui que o rsync se conectasse via ssh em uma porta diferente, mas consegui redirecionar a conexão ssh para o computador que desejava via iptables. Esta não é a solução que eu estava procurando, mas resolveu o meu problema.
fonte