Como criar um túnel SSH

Veja como criar um túnel SSH para se conectar a servidores e serviços que sua máquina local não tem acesso.

Você conhece a frase “você não precisa saber tudo, importante é conhecer que sabe”, nesse post vamos reescreve-la para “você não precisar ter acesso a tudo, só precisar conhecer quem tem”.

Imagina que você precisa acessar um serviço que você não tem acesso, porem você tem acesso SSH a uma máquina que consegue acessar aquele serviço.

Bom, é isso que vamos fazer usando um túnel SSH.

Da uma olhada nessa imagem que ilustra qual vai ser nosso lab.

No comando abaixo estamos abrindo a porta local 3333 (no PC que estamos) conectada ao servidor appserver (que temos acesso SSH) que está conectada a porta 3306 do servidor dbserver (que não temos acesso):

ssh -Nv -L localhost:3333:dbserver:3306 cesar@appserver
-N: Não executa nenhum comando remoto
-v: Ativa modo verboso
-L: Especifica o host e porta do tunel

Basicamente estamos fazendo isso:

Portanto, agora é possível conectar no mysql do dbserver através de localhost porta 3333. Aqui um exemplo utilizando mysql client na linha de comando, mas você poderia fazer via MySQL Workbench, por exemplo:

mysql -u app_user -p -h localhost -P 3333

Outro exemplo: Acessar uma aplicação que está rodando no na porta 80 do servidor appserver, porém você tem acesso apenas via SSH:

ssh -N -L localhost:8000:localhost:80 cesar@appserver

Portanto a porta 80 do servidor appserver estará disponível em localhost porta 8000.

O túnel pode ser usado em diversas outras situações, basta mapear as portas corretas.

Quer mais conteúdo sobre Linux? Veja aqui.

Deixe um comentário

O seu endereço de e-mail não será publicado.