logar em uma máquina através de outra, com (de) compressão apenas nas extremidades [duplicada]

1

Eu olhei ao redor, mas não consegui encontrar a resposta para uma pergunta muito simples:

Eu gostaria de logar na máquina C da máquina A, passando pela máquina B. No entanto, B é lento, então eu também gostaria que minha conexão com C fosse comprimida / descompactada em C, encapsulada através de B, e descompactada / comprimido em A.

Qual comando ssh devo executar (na máquina A) para obter um prompt na máquina C quando:

  1. Estou fisicamente na máquina A.
  2. Eu posso usar o ssh para logar diretamente ...

    2.1. ... na máquina B de A

    2.2. ... na máquina C de B

  3. Não consigo entrar na máquina C diretamente de A

[EDITAR]

Isto não é uma duplicata porque:

  1. Eu não estou perguntando como encaminhar o tráfego em geral, apenas uma conexão ssh, para que possa haver uma resposta diferente para o caso específico de encaminhamento ssh por meio do ssh
  2. Estou pedindo a compactação nos finais (como até mesmo o título menciona)
por ricab 05.03.2014 / 22:41

1 resposta

2

Supondo que você tenha:

  • A com endereço ip ip_A
  • B com endereço ip ip_B
  • C com endereço ip ip_C

A partir de um primeiro terminal, conecte-se ao B e configure um túnel para C em ssh (a porta 10022 é usada para o túnel, mas pode ser qualquer outra outra coisa):

ssh ip_B -L10022:ip_C:22

Em seguida, a partir de outro terminal, você será capaz de se conectar "diretamente" ao C de A usando o túnel que acabou de configurar e adicionar alguma opção de compressão ao comando ssh, se necessário:

ssh localhost -p 10022 -o "Compression=yes" -o "CompressionLevel=9"

No comando mais recente, configurei a compactação para o máximo, mas ela pode ser ajustada de 1 a 9, sendo 9 a mais alta, mas também a mais lenta.

    
por 05.03.2014 / 23:01