ssh falha através de proxy http com saca-rolhas

3

Estou tentando SSH para um servidor remoto através de um proxy HTTP usando saca-rolhas e a seguinte sub-rotina em ~ / .ssh / config:

Host target
  ProxyCommand corkscrew proxy 80 remote.host.ip 443 ~/.ssh/proxyauth

onde; "proxy 80" é o nome do dns e porta do proxy HTTP, meu servidor ssh está configurado para escutar na porta 443 do remote.host.ip e o arquivo proxyauth contém "usuário: senha" requerido para acessar o proxy HTTP.

Eu recebo o seguinte no cliente;

$ ssh target
ssh_exchange_identification: Connection closed by remote host

e no servidor, em /var/log/auth.log eu recebo;

Mar 12 13:16:32 hostname sshd[16029]: Did not receive identification string from x.x.x.x

Parece que o cliente SSH (OpenSSH) não inicia o protocolo corretamente ou que o proxy de alguma forma o manipula e o servidor fecha a conexão.

As coisas que eu tentei e eliminei são:

  1. Correndo saca-rolhas diretamente na máquina cliente usando os mesmos parâmetros do ~ / .ssh / config ProxyCommand. Isso funciona, e vejo as informações de versão e protocolo de publicidade de banners SSH do servidor. Portanto, a conectividade básica através do proxy HTTP funciona e o SSHD é definitivamente acessível (também comprovado por ver entradas de log no servidor).

  2. Testado o par de chaves do cliente no mesmo servidor, mas de um host que não requer um proxy. Isso funciona bem, então o par de chaves está OK.

  3. Aumentou o registro em ambas as extremidades do SSH, resultados mostrados;

cliente ...

$ ssh -vvv target
OpenSSH_6.2p2, OpenSSL 1.0.1e-fips 11 Feb 2013
debug1: Reading configuration data /home/davisond/.ssh/config
debug1: /home/davisond/.ssh/config line 3: Applying options for home
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 50: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Executing proxy command: exec corkscrew proxy 80 remote.host.ip 443 ~/.ssh/proxyauth
debug3: Incorrect RSA1 identifier
debug3: Could not load "/home/davisond/.ssh/id_rsa" as a RSA1 public key
debug1: permanently_drop_suid: 1000
debug1: identity file /home/davisond/.ssh/id_rsa type 1
debug1: identity file /home/davisond/.ssh/id_rsa-cert type -1
debug1: identity file /home/davisond/.ssh/id_dsa type -1
debug1: identity file /home/davisond/.ssh/id_dsa-cert type -1
debug1: identity file /home/davisond/.ssh/id_ecdsa type -1
debug1: identity file /home/davisond/.ssh/id_ecdsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2
ssh_exchange_identification: Connection closed by remote host

e no servidor;

Mar 12 13:23:49 hepburn sshd[20786]: debug1: Forked child 20997.
Mar 12 13:23:49 hepburn sshd[20997]: Set /proc/self/oom_score_adj to 0
Mar 12 13:23:49 hepburn sshd[20997]: debug1: rexec start in 5 out 5 newsock 5 pipe 7 sock 8
Mar 12 13:23:49 hepburn sshd[20997]: debug1: inetd sockets after dupping: 3, 3
Mar 12 13:23:49 hepburn sshd[20997]: Connection from x.x.x.x port 22104
Mar 12 13:23:49 hepburn sshd[20997]: Did not receive identification string from x.x.x.x

Alguém oferece indicações de onde ir daqui para fazer isso funcionar?

    
por darrend 12.03.2014 / 14:42

0 respostas

Tags