sábado, 5 de novembro de 2011

Tunel SSH

É assim que o pessoal costuma abrir tuneis SSH no Japão

Mais um post de infra no meu blog de programação, mas tudo bem, que programador nunca precisou de um tunel ssh pra salvar sua vida?

Tunel SSH nada mais é do que abrir uma porta localmente que responda em um serviço remotamente. Isso quer dizer que você pode conectar em seu banco de dados favorito (PostgreSQL, claro) remotamente sem ter que abrir a porta 5432 do seu servidor aos quatro ventos e sair restringindo o acesso via iptables/ufw/ipfw (até você lembrar que seu IP é dinamico e você não ter paciencia pra reconfigura-lo a cada 3 dias).

Pra abrir um tunel SSH é ridiculamente simples, assim como consta no manual, basta executar:

ssh -L 5433:localhost:5432 user@servi.dor

Com isso, o SSH irá se conectar ao servi.dor e abrir a porta 5433 localmente e encaminhar todas as conexões TCP recebidas diretamente para a porta 5432 do localhost.

Isso mesmo, você não está ficando louco (e nem eu), o ssh vai abrir encaminhar o pacotes para a porta 5432 do localhost. O detalhe aqui fica por conta do contexto, "localhost" no caso é a maquina onde você se conectou, e não a sua, ou seja, nesse caso localhost == servi.dor, é um pouco dificil de visualizar num primeiro momento mas se torna natural depois de um tempo.

Só pra deixar claro: o tunel pode se conectar a qualquer serviço remoto localmente (!!). Pode ser o PostgreSQL, MySQL, Apache, MongoDB, RabbitMQ, até mesmo ao próprio SSH, mas você não vai querer uma implosão no seu computador né?

Básicamente é isso, eu tinha pensado em escrever só o comando e deixar o resto pra você se virar e ententer, então acho que já escrevi de mais

Espero que um dia eu consiga escrever sobre programação, queria tanto falar sobre Celery, MongoDB+Django, e outras coisas....

2 comentários:

  1. Só esqueceu de falar que fica um pouco lento...

    ResponderExcluir
  2. Eu só disse que salvaria sua vida, não disse que seria indolor.

    ResponderExcluir