Se um desses dois hosts puder efetuar login no outro se a conectividade de rede estiver presente, ou com uma chave de ID do SSH em um reconhecido em authorized_keys no outro, ou uma senha puder ser usada, E se o encaminhamento de porta não estiver desativado E, se a execução desse tráfego em sua máquina local estiver correta, isso quase sempre poderá ser feito por meio do encaminhamento de porta.
Vamos chamar seu host de máquina local A, e esse host B tem as credenciais para efetuar login no host C com SSH se ele puder alcançar o host C.
-
Faça login no host B usando a opção para fazer o encaminhamento de porta REVERSE, ouvindo a porta 2222 na máquina B e conectando-se à porta 3333 no host local (o que acontecerá na máquina A). No Linux esta opção é " -R 2222: localhost: 3333 ".
-
Efetue login no host C usando o encaminhamento de porta normal, ouvindo a porta 3333 na máquina A e conectando a porta tp 22 no host local (o que acontecerá na máquina C). No Linux, esta opção é " -L 3333: localhost: 22 ".
-
No host B, inicie uma sessão SSH de teste para hospedar o C para ver se tudo está configurado corretamente. O comando a fazer é " ssh -p2222 usernameonhostc @ localhost ". Se tudo estiver configurado corretamente, ele se conectará à porta 2222 em B, será encaminhado para a porta 3333 em A e, em seguida, será encaminhado para a porta 22 em C. Se as chaves estiverem corretas, você poderá fazer o login. Caso contrário, você deve ge uma solicitação de senha. Digite a senha para ter certeza.
Se você puder conectar OK, feche a conexão de teste e prossiga com # 4 ou # 5 abaixo.
-
Para enviar arquivos de B para C, faça isso em B: rsync -e "ssh -p2222" -av / onde / para / get / files /. usernameonhostc @ localhost: / onde / para / colocar / arquivos
-
Para enviar arquivos de C para B, faça isso em B: rsync -e " ssh -p2222" -av nomedeusuariohost @ localhost: / onde / para / obter / arquivos /. / onde / to / put / files
Se você precisar transferir quantidades muito grandes de dados entre as máquinas pela Internet porque seu acesso local tem largura de banda limitada, será mais complicado, exigirá saber como as redes são restritas em B e C e pode nem mesmo ser possível.
Substitua a string "useronhostc" pelo seu nome de usuário que você usa no host C. Deixe "localhost" como está ou mude-o apenas para "127.0.0.1". Forneça os caminhos corretos para os exemplos mostrados. Remova o " /. " no final do caminho de origem, se for apenas um único arquivo.
Lembre-se de que você deve fazer o login em B e C (de A) ao mesmo tempo. É sugerido o uso de janelas separadas do terminal. Esses logins ssh estarão fazendo o encaminhamento de porta. Mas você também pode fazer comandos através deles. Você poderia escolher números de porta diferentes de 2222 ou 333 mostrados pelo exemplo. A porta 22 é provavelmente necessária, a menos que o host C ouça em uma porta diferente por algum motivo (eu faço isso com meus servidores ... não estou dizendo qual porta). Se você alterar as portas 2222 e / ou 3333, provavelmente precisará usar números 1024 ou mais. Tecnicamente, você pode até usar o mesmo número para ambos, já que os ouvintes estão em máquinas diferentes.