Por motivo de segurança, em algumas situações você não tem acesso direto ao servidor alvo. Contudo, liberam acesso SSH à uma outra máquina que acessa esse servidor e você precisa utilizar aplicativos à partir da sua máquina, mas acessando o servidor alvo. Como resolver esse problema de maneira transparente? Para isso, existe o túnel SSH.
Esse túnel pode ser contemplado pelo seguinte comando:
ssh -f USUARIO@SERVIDORCOMACESSO -L PORTAACESSAR:SERVIDORACESSAR:PORTAORIGINAL -N
O parâmetro mais importante é o -L que é responsável por mapear qual porta você irá acessar pela sua máquina (PORTAACESSAR), de qual servidor (SERVIDORACESSAR), e qual porta desse servidor você irá acessar (PORTAORIGINAL).
Por exemplo, se eu quero acessar o servidor de AD que está disponível no servidor 192.168.18.6 e na porta 389 à partir da minha máquina na porta 2000, sendo que só tenho acesso ao servidor 192.168.18.1, executo o seguinte comando:
ssh -f thiago@192.168.18.1 -L 2000:192.168.18.6:2000 -N
Com isso, tenho acesso ao servidor de AD da máquina 192.168.18.6 pela porta 2000 da máquina 192.168.18.1, que seria a única máquina que eu deveria ter acesso.
O parâmetro -f especifica que o SSH deve rodar em background após informar a senha. O -N especifica que nenhum comando remoto será executado, ou seja, só irá fazer o port forward utilizado no nosso túnel.
Agora é só aproveitar esse recurso que é muito útil quando temos acesso limitados à servidores ou necessitamos fazer port forwading.
Túnel SSH: Por motivo de segurança, em algumas situações você não tem acesso direto ao serv... http://t.co/oy6JMbYtqk (via @thiagovespa)