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:

quinta-feira, 15 de agosto de 2013

Como configurar o bash (linux – Ubuntu) para utilizar um proxy.

Como configurar o bash (linux – Ubuntu) para utilizar um proxy.

Precisei realizar o download  de alguns repositório no bash (Interpretador de Comandos) do Ubuntu – Linux e como eu estava em um rede corporativa que utilizava proxy web  não funcionou, porque o bash estava sem comunicação com a WEB. Para isso precisamos configurar o proxy no bash, não sendo suficiente a configuração no navegador web.

Tentei realizar o seguinte comando:
·         Apt-get install algo
E foi apresentado o seguinte erro: 407 Proxy Authentication Required ou Requer autenticação de proxy.
Para fazer isso funcionar precisamos editar nosso arquivio de configuração apt, desta forma:
sudo gedit /etc/apt/apt.conf

e adicionar as informações do proxy:
Acquire::http::Proxy "http://username:password@proxyhost:port/";
Você pode adicionar esta configurações para outro protocolo como https e ftp.