Eu desenhei alguns esboços
A máquina onde o comando ssh tunnel é digitado é chamado »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: conectar com ssh ae connectToHost
encaminhar todas as tentativas de conexão para o local sourcePort
a porta onPort
na máquina chamada forwardToHost
, que pode ser acessada a partir da connectToHost
máquina.
controlo 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: conectar-se com ssh connectToHost
e encaminhar todas as tentativas de conexão do remoto sourcePort
para a porta onPort
na máquina chamada forwardToHost
, que pode ser acessada a partir da sua máquina local.
Seu exemplo
Bem, se você gostaria apenas de fazer o encaminhamento do X funcionar, ou seja, executar alguns aplicativos do X no computador em casa e exibi-los em um sistema remoto (vamos chamá-lo de computador do trabalho, porque pode estar no seu local de trabalho), então você possivelmente não precisa de um túnel ssh.
Inicie aplicativos X sem túnel
Você pode simplesmente ssh do computador do trabalho para o seu computador doméstico? Nesse caso, quando você está sentado no computador do trabalho e deseja iniciar um aplicativo X que é executado no seu computador doméstico, mas é exibido no seu computador do trabalho , você deve digitar (no computador do trabalho):
ssh -X homeuser @ homecomputer firefox
Isso iniciará o Firefox no seu computador doméstico e o exibirá na máquina em que você digitou este comando, por exemplo, no seu computador de trabalho.
Computador oculto precisa de túnel
Esta é a imagem número 3 dos meus esboços. Muitas vezes, o computador doméstico não pode ser acessado diretamente da Internet, porque está protegido por um firewall ou oculto pelo NAT (de um roteador). Então você pode usar um túnel.
No seu computador doméstico azul ( yourhost
), você digita:
ssh -R 5555:localhost:22 remoteuser@remotehost
onde 5555
fica a porta verde e 22
a porta rosa na imagem.
Se você está no trabalho, na remotehost
, e se conecta à porta verde 5555
, sua conexão é encapsulada / encaminhada para a porta rosa do computador doméstico localhost
(ou seja, o próprio computador azul em casa). Agora você precisa digitar no seu computador de trabalho:
ssh -X -p 5555 homeuser@localhost firefox
que iniciará o Firefox no seu computador doméstico ( yourhost
) e o exibirá na máquina em que você digitou este comando, por exemplo, no seu computador comercial ( remotehost
).