SSHing tramite un proxy HTTP


0

Scenario tipico: sto provando a SSH attraverso un proxy HTTP aziendale su una macchina remota usando il cavatappi, e ottengo:

ssh_exchange_identification: Connection closed by remote host

Ovviamente, ci sono molti motivi per cui questo potrebbe accadere: il proxy potrebbe non permetterlo, la casella remota potrebbe non essere in esecuzione sshd, ecc.

Quindi, ho provato a eseguire il tunnel manualmente tramite telnet:

$ telnet proxy.evilcorporation.com 82
Trying XX.XX.XX.XX...
Connected to proxy.evilcorporation.com.
Escape character is '^]'.
CONNECT myremotehost.com:22 HTTP/1.1

HTTP/1.1 200 Connection established

Quindi, a meno che non mi sbagli ... sembra che la connessione sia lavoro .

Quindi, perché allora, non funziona tramite cavatappi?

ssh -vvv root@myremotehost.com -p 22 -o "ProxyCommand corkscrew proxy.evilcorporation.com 82 myremotehost.com 22"
OpenSSH_6.6, OpenSSL 1.0.1f 6 Jan 2014
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Executing proxy command: exec corkscrew proxy.evilcorporation.com 82 myremotehost.com 22
debug1: permanently_set_uid: 0/0
debug1: permanently_drop_suid: 0
debug1: identity file /root/.ssh/id_rsa type -1
debug1: identity file /root/.ssh/id_rsa-cert type -1
debug1: identity file /root/.ssh/id_dsa type -1
debug1: identity file /root/.ssh/id_dsa-cert type -1
debug1: identity file /root/.ssh/id_ecdsa type -1
debug1: identity file /root/.ssh/id_ecdsa-cert type -1
debug1: identity file /root/.ssh/id_ed25519 type -1
debug1: identity file /root/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.6p1 Ubuntu-2ubuntu1
ssh_exchange_identification: Connection closed by remote host

Hai stabilito una connessione sulla porta 22 tramite CONNECT, ma hai effettivamente provato un handshake SSH attraverso di esso? Forse il proxy rileva SSH, che è facile, e interrompe la connessione.
Icydog

Risposte:


0

È possibile che si stia tentando di eseguire il tunneling attraverso un proxy rispetto al quale cavatappi non è stato progettato / testato / debug. La pagina iniziale di Corkscrew stati (testualmente):

Corkscrew è stato testato con i seguenti proxy HTTP:

guanto di sfida

CacheFlow

Junkbuster

Calamaro

Mod_proxy di Apache

Per favore mandami una email se riesci a farlo funzionare con un altro proxy

Sai quale proxy viene eseguito, nel tuo caso?


0

Puoi verificare se il cavatappi funziona correttamente eseguendo il tuo proxy direttamente sulla riga di comando. Nel tuo caso, in esecuzione

corkscrew proxy.evilcorporation.com 82 myremotehost.com 22

dovrebbe produrre un output come

SSH-2.0-OpenSSH_6.7

Cioè il banner del protocollo SSH dal server remoto. Se questo non funziona, allora qualcosa non va con il tuo proxy e / o il tuo server ssh.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.