Como usar o ssh / scp entre máquinas não públicas

3

Frequentemente estou na seguinte situação:

Eu tenho duas máquinas, A e B, que estão em LANs e têm endereços IP não públicos. A máquina C está na mesma LAN que B, mas visível publicamente. Eu gostaria de copiar um arquivo de B para A, então eu tenho que:

  • ssh para C
  • ssh de C para B
  • arquivo scp de B para C
  • arquivo scp de C para A

Dado que o ssl pode fazer coisas maravilhosas com displays de tunelamento desde B até A via C de forma transparente, parece que deve ser possível fazer o mesmo com arquivos.

Existe uma maneira de usar o padrão ssh / scp para copiar de B para A, sem ter que fazer uma cópia temporária em C?

    
por mo-seph 20.10.2009 / 10:00

2 respostas

3

Você deseja configurar o encaminhamento de porta. Quando você SSH da máquina A para a máquina B adicionar um túnel, ou seja, adicionar -L 1234: A: 22 quando encapsulamento para B. Então SSH para máquina C e scp os arquivos para B na porta 1234 (ou seja, adicionar -P 1234 para scp) . Na verdade, isso será roteado para a porta 22 na máquina A, que é a porta ssh e, portanto, será transferida diretamente.

Eu não tenho três máquinas com as quais experimentar isso agora, mas acho que isso deve funcionar.

    
por 20.10.2009 / 12:05
0

Se você pode ssh de C para B e scp para A de C, então eu acho que você deveria ser capaz de usar scp diretamente de C.

(usando aa.aa.aa.aa como endereço IP de A e bb.bb.bb.bb como endereço IP de B)

  • ssh em C
  • Na linha de comando em C:

    scp bb.bb.bb.bb:/path/to/file aa.aa.aa.aa:/path/to/destination

por 20.10.2009 / 17:14

Tags