Ao usar o cygwin + ssh, a configuração http_proxy não funciona

0

Eu tenho um problema onde, sob o cygwin, a variável http_proxy env está sendo ignorada. Eu tentei maiúsculas e minúsculas para o nome da variável, só não está sendo lido por ssh.

export HTTP_PROXY="http://user:[email protected]:8080/"

Não usa proxy

ssh [email protected]

Usa proxy

wget http://home.com/

Alguém vê o que eu estou fazendo errado?

    
por Roy Rico 13.07.2010 / 01:28

1 resposta

7

Sua pergunta não está clara porque você não explica o que está tentando alcançar. Vou arriscar um palpite, o que, claro, pode estar errado. Meu palpite é que:

  • você deseja usar o ssh para se conectar de sua máquina de trabalho a home.com ;
  • ssh home.com não funciona (trava ou exibe uma mensagem de erro) porque seu firewall de trabalho está bloqueando as conexões de saída;
  • user:[email protected]:8080 é o proxy que você configurou no navegador da Web no trabalho.

Como o ssh usa o protocolo ssh, e não o protocolo http ou https, ele não se importa com a variável http_proxy ou https_proxy .

Existe uma maneira de encapsular o tráfego ssh através de um proxy https. O proxy não consegue distinguir o tráfego ssh do tráfego https, pois ambos são criptografados. Três programas que podem fazer isso são netcat (a versão do OpenBSD), saca-rolhas e connect-proxy. Vou dar um exemplo de saca-rolhas que sei que é fornecido no Cygwin. Use as seguintes configurações no seu arquivo .ssh/config :

Host home
HostName home.com
User myuser
ProxyCommand /usr/bin/corkscrew proxy.job.com 8080 %h %p /path/to/corkscrew/authfile

e coloque uma única linha contendo user:pass em /path/to/corkscrew/authfile .

Alguns proxies não permitem que você se conecte à porta 22 (a porta ssh normal), apenas à porta 443 (a porta https normal). Se você tiver controle sobre o servidor em home.com , também poderá escutar na porta 443: provavelmente você desejará adicionar 443 à linha Port no arquivo sshd_config ou redirecionar conexões de entrada na porta 443 em seu roteador doméstico para a porta 22 em sua máquina sshd. Em seguida, adicione Port 443 abaixo da linha HostName em .ssh/config .

Como alternativa, se seus esforços de invasão de firewall falharem, procure instalar o Ajaxterm em um servidor da web fora do firewall.

    
por 14.07.2010 / 12:57

Tags