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
$ mkdir .ssh (somente se a pasta não existir ainda)
$ vim ~/.ssh/config
adicione as seguintes linhas:
Host *
ProxyCommand corkscrew seuproxyhttp portadoproxy %h %p
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
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
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: