Como criar um túnel SSH

4

Ok, aqui está a configuração. Estou fora da rede local e conectando-me à minha rede doméstica usando o iSSH (no iPad), até aí tudo bem, eu costumava redirecionar o mediacenter de minha casa para localhost criando um túnel. Então, eu posso inserir localhost:8080 na minha barra de endereços e procurar meu mediacenter em casa, foi:

local port : 8080
destination host : localhost
destination port 8080

Isso funcionou bem.

Agora eu gostaria de dar um passo adiante e dizer ao mediacenter que estou me conectando para redirecionar o 192.168.1.112:8800 , que é a máquina que gostaria de acessar do mediacenter e basicamente usar o mediacenter como um gateway. Eu suponho que eu teria que usar ssh -L , mas não tenho certeza se é o caminho certo para fazê-lo.

Como faço para criar este túnel?

    
por fingertwist 21.05.2011 / 09:25

4 respostas

5

Estou usando negrito para diferenciar entre a porta local à qual você está se conectando no seu iPad (em negrito) e a porta remota que você está acessando no seu mediacenter (sem negrito).

Parece que isso é o que você tem feito:

ssh -L 8080 : localhost: 8080 nomedousuá[email protected]

O "-L 8080 :" significa que você estará pegando um recurso remoto e ligando-o a uma porta local (neste caso 8080 ) que significa que você pode se conectar a este recurso remoto digitando localhost: 8080 no seu iPad. A próxima parte "localhost: 8080" (do ponto de vista da central de mídia) é o nome do host e a porta cujos recursos você está vinculando à porta 8080 no seu iPad. Você pode alterar isso para qualquer nome de host ou endereço IP e porta que sua central de mídia possa ver em sua rede.

Agora que você deseja se conectar a 192.168.1.112: 8800 , ficará assim:

ssh -L [aLocalPort]: 192.168.1.112: 8800 nomedousuá[email protected]

então você pode se conectar a 192.168.1.112: 8800 digitando localhost: [aLocalPort] em qualquer programa que você queira usar para se conectar a ele em seu iPad. (onde [aLocalPort] é alguma porta local não utilizada como 9000. Você pode usar a mesma porta que é usada no destino ( 8800 ) para conveniência, se quiser)

    
por 21.05.2011 / 11:52
1

Sim, você pode adicionar -L 192.168.1.112:8800 , ele ligará uma porta em sua máquina local (o cliente, quero dizer) ao túnel e será encaminhada pelo servidor remoto para o endereço e a porta especificados.

    
por 21.05.2011 / 11:34
1

Eu desenhei alguns esboços

A máquina em que o comando ssh tunnel é digitado chama-se »seu host« .

Introdução

  1. local: -L Specifies that the given port on the local (client) host is to be forwarded to the given host and port on the remote side.

    ssh -L sourcePort:forwardToHost:onPort connectToHost significa: conecte-se com ssh a connectToHost e encaminhe todas as tentativas de conexão para o local sourcePort para a porta onPort na máquina chamada forwardToHost , que pode ser alcançado a partir da máquina connectToHost .

  2. remoto: -R Specifies that the given port on the remote (server) host is to be forwarded to the given host and port on the local side.

    ssh -R sourcePort:forwardToHost:onPort connectToHost significa: conecte-se com ssh a connectToHost e encaminhe todas as tentativas de conexão para o remoto sourcePort para a porta onPort na máquina chamada forwardToHost , que pode ser alcançado a partir de sua máquina local.

Seu exemplo

A segunda imagem representa este túnel. O remotehost é o seu mediacenter. O farawayhost é sua máquina 192.168.1.112 com sua porta rosa de interesse (na porta de desenho 456 , mas no seu caso porta 8800 ). Então o comando tem que ficar assim:

ssh -L 123:192.168.1.112:8800 mediacenter

É claro que você pode alterar o número da porta verde 123 para o que quiser e acessá-lo via

localhost:123

onde novamente 123 é um número de porta arbitrário (escolhido pelo seu comando de encapsulamento) da porta verde.

    
por 14.03.2014 / 00:12
0

Não é realmente uma resposta, mas usar o autossh em vez de simples ssh é uma boa idéia para túneis, ele restabelece o túnel automaticamente se houver um tempo limite etc (desde que você tenha configurado suas chaves ssh)

    
por 21.05.2011 / 12:55