Usando ssh e corkscrew / proxychains em um proxy HTTP

3

A caixa do Ubuntu que estou vendo está atrás de um proxy que suporta CONNECT para portas 80/443. Eu configurei um servidor ssh externo na porta 443 e posso conectar-me a ele com saca-rolhas / ssh sem problemas

ssh_config:

Host *
    ProxyCommand corkscrew corp.proxy.ip 8080 %h %p 

linha de comando para iniciar o ssd:

ssh -D 1080 [email protected] -p 443

Então, como eu disse, tudo funciona bem. O problema é que o parâmetro -D, que deveria abrir um proxy SOCKS, não funciona bem.

Quando executo proxychains, é o que recebo:

 user@laptop:$ proxychains git pull
 ProxyChains-3.1 (http://proxychains.sf.net)
 random chain (1):....127.0.0.1:1080....can't connect to..corp.proxy.ip:8080

Assim, parece iniciar uma conexão com o proxy novamente por algum motivo.

Configuração semelhante funciona muito bem na máquina do Windows (Bitvise Tunneller / Freecap), todo o trabalho de tunelamento funciona bem.

Eu tentei isso:

  1. iniciado ssh com -D, tendo proxy na configuração
  2. comentado proxy enquanto (1) ainda roda
  3. executou proxychains

Desta vez, o ssh não tentou se conectar ao proxy e a conexão correu bem, mas editar a configuração toda vez e voltar não é uma solução.

Então, alguma idéia de como corrigir corretamente?

Obrigado!

    
por Art 20.05.2009 / 04:18

1 resposta

4

A solução é bem simples, afinal de contas: faça o ssh se conectar ao proxy SOMENTE quando precisar estabelecer um túnel pela primeira vez:

ssh_config:

Host external-host.com
    ProxyCommand corkscrew corp.proxy.ip 8080 %h %p

Isso funciona legal.

Obrigado por assistir, todo mundo:)

    
por 20.05.2009 / 06:27