Atualmente, estou longe da minha LAN e preciso fazer um backup do meu laptop. Eu tenho uma cópia um pouco recente do meu laptop no meu servidor e geralmente faço backup do laptop usando o rsync. Agora eu desejo fazer isso, mas fora da minha LAN.
Em resumo, quero enviar dados de A para C via B, onde A é meu laptop, B meu roteador e C meu servidor.
Encontrei este comando:, A$ scp -oProxyCommand="ssh B nc %h %p" thefile C:destination
que funciona bem para transferir arquivos via scp - mas como já tenho a maioria dos dados no meu servidor, desejo usar o rsync para sincronizar apenas o delta.
Eu tentei:, A$ rsync file -e 'ssh B ssh' C
e isso funciona tanto quanto me é solicitado que forneça a senha do usuário: C. No entanto, quando digito a senha, nada acontece. O roteador está executando o Tomato v1.28 e não consigo configurá-lo para utilizar um arquivo de configuração ssh para permitir que ele faça logon com uma senha.
Alguma idéia de como fazer isso funcionar?
ProxyCommand
no arquivo de configuração. Rsync deve pegar isso.Respostas:
Esta questão é essencialmente respondida em outro lugar, incluindo aqui para scp e aqui para rsync . Como o último inclui minha resposta, mas nenhuma resposta foi aceita, repetirei aqui.
Como você observou, você pode usar
rsync
a-e | --rsh
opção, mas será um pouco mais complicado:Ou, se sua versão do
ssh
for suficientemente nova (OpenSSH> = v7.3), você poderá usar a opção-J
(ProxyJump
)Observe que estou usando
-A
(encaminhamento de agente), mas também deve funcionar com autenticação de senha se você não usar chaves e, é claro, você pode substituirproxy
porB
edest
comC
no seu exemplo.Se por acaso você não tiver uma
ssh
versão nova o suficiente (> = 5.3, IIRC), poderá usar emnetcat
vez da-W
opção parassh
:Por fim, como já observado nos comentários, você pode colocar o arquivo
ProxyCommand
em seu$HOME/.ssh/config
arquivo para não precisar de uma linha de comando tão complicada. Especificamente, adicione algo como isto:Ou, usando
ProxyJump
para OpenSSH> = v 7.3:Então você deve conseguir:
fonte