Eu desenhei alguns esboços
A máquina em que o comando ssh tunnel é digitado chama-se »seu host« .
Introdução
-
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: se conectar com ssh para connectToHost
, e encaminhar todas as tentativas de conexão à Local sourcePort
a porta onPort
sobre a máquina chamada forwardToHost
, que pode ser alcançado a partir da máquina connectToHost
.
-
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
O computador doméstico executa o linux
Esta é a imagem número três dos meus esboços. O seu computador de casa está executando o linux? E você tem um remotehost em algum lugar na internet que tem ssh e você pode simplesmente acessá-lo do seu computador em casa usando
ssh remotehost
Então, você certamente instalou o ssh e nem precisa do roteador para criar seu túnel. Use o seguinte comando no seu computador (a caixa azul chamada yourhost
representa seu computador doméstico):
ssh -R 11111:localhost:22 remotehost
Agora, se você está sentado no remotehost e deseja se conectar ao seu computador doméstico via ssh, use este comando
ssh -p 11111 homeuser@localhost
que irá iniciar uma conexão ssh para o verde porta 11111
no seu remotehost, que é encaminhado através do túnel ssh (que ainda passa seu roteador busybox) e se conectar à rosa porta 22
do localhost do seu computador de casa ( qual é o seu próprio computador em casa).
É claro que o busybox também pode estabelecer o túnel
Esta é a imagem número 4 dos meus esboços. Você está agora sentado (ou logado) no busybox. Então, yourhost
é o roteador do busybox.
ssh -R 11111:nearhost:22 remotehost
Agora, quando você está no remotehost, você digita novamente
ssh -p 11111 busyboxuser@localhost
para se conectar à porta verde 11111
, que é então encaminhada através do túnel para o busybox, e a partir daí é conectada à porta cor-de-rosa 22
do nearhost (representando seu computador doméstico).