Claudio Borges

Technical blog about Linux, BSD, Mac OS X, Games and etc.

usando ssh para criar um tunel reverso

with 2 comments

Semana passada estavamos (eu e meus amigos de irc) tentando ajudar um colega que estava com um determinado problema. Como ele estava utilizando uma máquina atrás de um firewall e ele não tinha acesso para fazer qualquer redirecionamento para esta máquina, falamos para ele criar um tunel reverso com ssh para conectarmos na máquina que ele estava e poder ajudá-lo com o problema que ele enfrentava.

Baseado no relato acima, vamos supor que tenho um servidor remoto cujo ip é 187.10.223.67, que a porta do ssh é a 22 (padrão) e que meu usuário remoto é but3k4, iremos utilizar as seguintes opções do ssh:

C - usa compactação de todos os dados que serão trafegados, muito útil para economizar banda.
N - não executa comandos no servidor remoto, portanto o usuário não precisa ter shell.
f - logo após conectar, coloca a conexão em background.
R - especifica qual porta irei ouvir no servidor remoto, em qual ip ela será listada e para qual porta do servidor local ela será redirecionada.

Agora, sabendo tudo que irei utilizar, peço para meu amigo digitar:

ssh -C -N -f -R 4444:localhost:22 but3k4@187.10.223.67

Com o comando acima, a porta 22 da máquina local, será listada automaticamente no loopback (127.0.0.1), na porta 4444 do ip 187.10.223.67.

Com isso, eu poderei conectar na máquina dele digitando:

ssh -p 4444 localhost -l root

Simples né? Túneis ssh são muito úteis e seu funcionamento como você mesmo viu é bem simples. Então, bom proveito.

Written by but3k4

November 3rd, 2009 at 8:00 pm

Posted in Linux

Tagged with , , , , ,

2 Responses to 'usando ssh para criar um tunel reverso'

Subscribe to comments with RSS or TrackBack to 'usando ssh para criar um tunel reverso'.

  1. Poxa, funcionou diretinho, mas tenho uma pergunta… aqui usamos a ideia de usar a conexao para o SSH, mas e se eu quizesse por FTP, VNC ou MySQL?
    Como eu poderia proceder?
    Obrigado pela atencao.

    Herinque Noslidan

    18 Nov 09 at

  2. A lógica é a mesma, basta trocar a porta 22, para a porta que você quizer, por exemplo:

    ssh -C -N -f -R 4444:localhost:21 but3k4@187.10.223.67

    Ele irá fazer um túnel reverso no ip 187.10.223.67 da porta 21 para a porta 4444

    but3k4

    18 Nov 09 at

Leave a Reply