SSH túnel através de dois servidores para acessar um serviço da web na porta 9091

2

o que eu tenho é um serviço "phone-home" rodando em remote1 que se conecta a LAN1 via:

ssh -N -R 16864:localhost:22 <myuser.on.lan1>@<lan1.ip>

assim, a partir do terminal SSH em LAN1 , posso carregar facilmente o terminal em remote1 fazendo:

ssh -l <myuser.on.remote1> -p 16864 localhost

remote1 está executando um serviço de daemon com um painel da web na porta 9091 (Transmission).

Então, o que eu quero é conectar a essa interface da web na porta 9091 on remote1 , através de LAN1 (que já tem um túnel aberto na porta 16864 ) da minha máquina local.

então provavelmente isso:

Local machine browser -> LAN1:16864 -> 22:REMOTE1:9091

Eu tenho tentado vários comandos SSL diferentes com base no que eu li AQUI , AQUI , HERE e a configuração original é baseada em ESTE

Eu tenho tentado coisas assim, mas tenho certeza de que estou próximo, mas bastante perdido sobre o que fazer:

ssh -t -L8080:localhost:5590 [email protected] ssh -l user -p 16864 localhost -N

mas, claro, se estou perguntando aqui, é porque estou falhando miseravelmente. Qualquer especialista para me ajudar nessa?

edit:

Eu não tenho diagramas, mas explicarei de uma maneira diferente:

Eu tenho 3 computadores Linux:

  • REMOTE1 always-on raspPi na localização remota, que não tenho muito acesso à configuração de rede
  • LAN1 sempre no raspPi na minha lan local, onde posso configurar o encaminhamento de porta, IP fixo e DNS dinâmico, sem problemas.
  • meu PC, que eu quero acessar os serviços da Web em REMOTE1

REMOTE1 está fazendo um "call home" para manter uma conexão SSH com LAN1 via:

ssh -N -R 16864:localhost:22 <myuser.on.lan1>@<lan1.ip>

e essa parte está funcionando bem. Eu uso meu terminal de máquina local para SSH para LAN1 , então dentro de LAN1 máquina que eu digito:

ssh -l <myuser.on.remote1> -p 16864 localhost

e eu posso fazer coisas de terminal em REMOTE1 .

Atualmente, só tenho um serviço no 9091 (transmission-daemon), mas instalarei outras coisas posteriormente.

Então, a pergunta, como faço o tunelamento da minha máquina local para acessar o serviço da Web na porta 9091 no REMOTE1 passando pela conexão de túnel em LAN1 ?

de uma maneira simplista:

  • máquina local: ssh 8888 <magic> 1684 <magic> 9091 <magic> -N
  • abra o navegador no tipo localhost:8888/transmission/web/ e acesse o daemon de transmissão em REMOTE1
por Budius 24.06.2014 / 01:19

1 resposta

3

Primeiro, configure para que você possa fazer ssh do seu PC "diretamente" para o remote1:

Em seu .ssh / config put:

Host remote1
  Proxycommand ssh -q -l <myuser.on.lan1> lan1 nc -w 600 localhost 16864

Certifique-se de que o netcat (comando nc) esteja instalado no lan1.

Agora você deve poder fazer ssh a partir do seu pc com:

ssh <myuser.on.remote1>@remote1

assim que isso funcionar, use:

ssh -L8888:localhost:9091 <myuser.on.remote1>@remote1

e você tem acesso à transmissão no remote1: 9091 via localhost: 8888

    
por 24.06.2014 / 12:14