sexta-feira, 16 de agosto de 2013

Utilizar SSH dentro de uma rede com proxy e bloqueios de portas

Bom dia a todos,

Essa história que vou compartilhar me ajudou bastante, recentemente eu precisei utilizar o SSH para realizar uma conexão com um servidor na internet e tive dificuldades, porque estava em uma rede corporativa que tinha um proxy e muitas regras de bloqueio de portas. Somente a porta 80 e 443 tinha o acesso liberado, o que quer dizer que qualquer conexão na porta SSH 22 padrão, não iria funcionar. Mesmo após eu realizar a mudança de porta no servidor para escutar na porta 443 em vez da porta padrão 22, não funcionou,  pois, os firewalls/proxy mais modernos conseguem identificar os pacotes SSH e bloqueiam de qualquer forma.
Foi quando encontrei uma ferramenta que solucionou o meu problema o Corkscrew.  O Corkscrew é uma ferramenta faz um túnel SSH através de proxies HTTP.
Ele pode ser compilado em:
  • AIX
  • HPUX
  • Solaris
  • FreeBSD
  • OpenBSD
  • NetBSD
  • Linux
  • Win32 (Cygwin)
  • Mac OS X
Ele já foi testado com alguns proxies HTTP conforme o desenvolvedor:
  • Gauntlet
  • CacheFlow
  • JunkBuster
  • Squid
  • Apache's mod_proxy

Em primeiro lugar, você deve instalar o corkscrew, como estou usando o Ubuntu, instalei via apt-get:
apt-get install corkscrew
Depois disso, você precisa configurar o SSH, para isso vá ao terminal e digite:
$ cd ~
$ mkdir .ssh (somente se a pasta não existir ainda)
$ vim
~/.ssh/config
adicione as seguintes linhas:

Host *
ProxyCommand corkscrew seuproxyhttp  portadoproxy %h %p
·         Meu proxy requer autenticacao: Entao voce precisa alterar o arquivo para que fique como:

Host *
ProxyCommand corkscrew seuproxyhttp  portadoproxy %h %p ~/.ssh/proxyauth
Crie o arquivo ~/.ssh/proxyauth com o seguinte conteudo:

usuario:senha


Depois de criar esse arquivo que você vai precisar se assegurar ninguém mais pode obter o seu nome de usuário e senha ao ler este arquivo. Então faça o seguinte:


chmod 600 MyAuth

Agora basta executar o comando  SSH:
ssh user@serverip

se a porta que você configurou no seu servidor SSH for outra pasta adicionar  o –p. Ex.
ssh user@serverip  -p 443


Fontes:

Nenhum comentário:

Postar um comentário