- Suponha que você não consiga conectar o ssh diretamente do host1 ao host2. (Caso contrário, o mais simples é o host1 de conexão direta ao host2)
- Suponha que é impossível conectar do host1 ou host2 ao seu PC.
Próximo Comando make rsync
ssh -R 127.0.0.1:9999:host2:22 user_host1@host1 rsync -e "ssh -p 9999" /file_path1 [email protected]:/file_path2
Vamos analisá-lo:
- ssh faz conexão com o host1
-
-R 127.0.0.1:9999:host2:22
escuta no loopback remoto (host1) na porta 9999 e encaminha a conexão no host do cliente para o host2: 22 - na execução do rsync do host1
-
-e "ssh -p 9999"
force usando a porta ssh não padrão para conexão - caminho local do rsync
/file_path1
para o caminho remoto[email protected]:/file_path2
nós fazemos a conexão com o usuário2 @ host2, mas como endereço usamos porta de loopback mapeada anteriormente
Espero que não tenha sido digitado no comando.
UPD
Para a solução de problemas, tente conectar primeiro o ssh interativo com o túnel
$ ssh -R 127.0.0.1:9999:host2:22 user_host1@host1
e manual ssh conectar através do tunel
[user_host1@host1 ]$ ssh -p 9999 [email protected]
O tunelamento pode ser desativado na configuração do sshd no host1.