Usando o SCP sobre uma cadeia SSH existente? Possível?

0

O SCP estabelece uma nova conexão ao copiar arquivos, o que às vezes pode dificultar a existência de firewalls.

Por exemplo,

Host-A < - > Host-B < - > Host-C < - > Host-D

  • O Host-A é conectado ao Host-B via SSH e, em seguida, o Host-B é conectado para o Host-C via SSH e, em seguida, para o Host-D.
  • O Host-A não pode se conectar a outros computadores além do Host-B, o Host-B pode se conectar apenas ao Host-A e Host-C, o Host-C pode se conectar apenas ao Host-B e Host-D e ao último Host -D só pode se conectar ao Host-C.

O comando (no Host-D) scp / home / usuário / arquivo Host-A: / home / user / newfile tentará criar um novo túnel SSH entre os dois, o que não é o que eu quero. Eu quero que a cadeia de encapsulamento SSH existente copie o arquivo de volta pelos hosts anteriores até alcançar o Host-A.

Como posso fazer isso?

    
por TrevorKS 01.02.2018 / 22:11

1 resposta

0

Você pode reutilizar as conexões existentes. Use a opção de linha de comando -M ou a opção de configuração (cliente) ControlMaster . Veja esta resposta no StackOverflow para detalhes.

Eu usei isso extensivamente, combinado com ControlPersist para fechar a conexão somente após um atraso. Isso evita o tempo de conexão em que você incorreria e melhora drasticamente o desempenho quando você está fechando e reconectando várias vezes (como faço frequentemente durante o uso interativo).

Observe que ele não funciona muito bem para conectar-se a alguns hosts - GitHub, por exemplo -, portanto, pode ser necessário excluir explicitamente determinados hosts de usar essa opção, se você configurá-lo como seu padrão.

    
por 01.02.2018 / 22:15