Como abrir a porta via túnel SSH?

0

Existe um sistema B com os seguintes servidores abertos: Eu tenho um servidor web escutando na porta 80 e um servidor ssh escutando 22. Entretanto, somente a porta 22 está disponível publicamente. Agora, gostaria de criar algum tipo de túnel, para que eu possa acessar B: 80 de A. No entanto, meu computador cliente A que gostaria de se conectar ao sistema B também não é aberto publicamente.

Então, tudo que eu tenho é um computador cliente A de onde eu gostaria de acessar o servidor B e, lá, uma porta aberta 22. Em A, nenhuma porta está aberta ou pode ser aberta.

O que (eu acho) eu precisaria é abrir localmente (em A) alguma porta que se conecta de alguma forma através da porta 22 de B para a porta 80 em B.

Isso é possível sem o uso de servidores abertos man-in-the-middle com várias portas?

    
por IceFire 29.05.2017 / 09:55

2 respostas

2

(Nota: Jakuje respondeu enquanto eu estava escrevendo minha resposta. É mais elaborado desde o começo, então estou postando mesmo assim.)

Se eu acertar você, tudo que você precisa é encaminhar uma porta local através do SSH. Eu suponho que você tenha acesso SSH a B .

Comando Linux para executar em A :

ssh -NL 2345:127.0.0.1:80 B

Agora, você pode se conectar à porta 2345 on A e deve ser equivalente à conexão com a 80 port em B do B em si.

Algumas observações:

  • -N faz com que ssh não execute um comando no lado remoto ( B ); perfeito para encaminhamento de porta.
  • O número 2345 é arbitrariamente escolhido; pode ser qualquer número de 1024 a 65535 (a ligação a uma porta menor que 1024 requer acesso root normalmente). Se acontecer de você acertar a porta já ocupada, tente outro número.
  • O endereço 127.0.0.1 que eu usei exige que o seu servidor web em B escute na interface loopback . Se ele escuta apenas em outros endereços, use-o. Esse endereço deve ser um endereço válido de seu servidor, conforme visto no sistema B . Não importa o que este endereço significa para A nem se significa algo em primeiro lugar.
  • Se você precisar que o computador C se conecte à porta 2345 encaminhada em A , convém familiarizar-se com a opção ssh -g . Leia man ssh .
por 29.05.2017 / 12:23
2

Use o encaminhamento de porta local:

ssh -L 80:localhost:80 B

e, em seguida, conecte-se a localhost:80 . A conexão será encaminhada para a porta 80% B

    
por 29.05.2017 / 12:07