“Meet no meio” com SSH

5

Eu tenho uma pergunta interessante sobre o SSH. Eu tenho uma máquina na escola que gostaria de poder acessar de outro lugar. Está por trás de um firewall / NAT, então não consigo acessá-lo diretamente. Eu tenho um servidor web alugado que eu posso SSH em qualquer lugar. Eu queria saber se eu poderia fazer algum voodoo com o encaminhamento de porta para chegar à minha máquina na escola através do servidor web. Acho que isso se resume a saber se você pode fazer SSH "de trás para frente", o que pode ou não ser possível.

Basicamente:
Máquina A pode acessar a máquina B
Máquina C também pode acessar a Máquina B
Como a Máquina A pode acessar a Máquina C?

    
por stillinbeta 23.04.2010 / 16:54

2 respostas

5

Em relação ao "backward" SSH , há Reverse Remote Shell que Eu tenho usado por um tempo em uma situação similar.

Mas aqui, algumas coisas devem ser esclarecidas primeiro:

  1. Que tipo de acesso você precisa? Estamos falando de apenas SSH ou você quis dizer outra coisa?
  2. O que é este servidor da web ( B )? Pode acessar o destino ( C ) diretamente sem problemas (o que não é possível em A )? Ou é apenas um problema de desconhecido / dinâmico IP da máquina de origem ( A )?

Presumo que, em uma situação padrão, você é capaz de iniciar conexões de saída de C sem restrições, e todo o tráfego de entrada novo é filtrado, certo?

ATUALIZAÇÃO:

Nesse caso, você pode usar Reverse Remote Shell para conectar C (escola) a B (conta SSH). Então, entrando de A (home) para B através do SSH, você pega o acesso de console reverso a C . Além disso, ele deve funcionar em praticamente qualquer configuração.

Principais desvantagens:

  1. É apenas SSH, mais as coisas que você pode fazer quando tem acesso local a C .
  2. Você confia implicitamente em B (que sua sessão não será roubada).

Isso é um pouco complicado. Seria muito mais fácil usar o encaminhamento de porta SSH para isso, mas isso às vezes é bloqueado por universidades / escolas (pelo menos da minha experiência). Por favor, veja se você pode usá-lo em sua situação. Então uma solução mais fácil e elegante deve ser possível.

    
por 23.04.2010 / 17:08
2

Sim, você pode fazer o encaminhamento de porta usando o SSH para acessar sua máquina na escola. O que você precisa fazer é:

  1. Na máquina da escola, você emite o seguinte comando:

    ssh -R port_on_server: localhost: local_port usuário @ servidor

  2. Da máquina em casa você faz:

    ssh -L local_port: locahost: port_on_server usuário @ servidor

Agora, você pode acessar seu local_port em sua máquina doméstica e será encaminhado para local_port na máquina da escola. Por exemplo, se local_port for 80, você poderá digitar link no seu navegador da Web e acessar o servidor da Web em execução na máquina da escola.

    
por 23.04.2010 / 18:01