SSHing über einen HTTP-Proxy

0

Typisches Szenario: Ich versuche, mithilfe eines Korkenziehers über einen HTTP-Proxy eines Unternehmens eine SSH-Verbindung zu einem Remotecomputer herzustellen. Dabei erhalte ich Folgendes:

ssh_exchange_identification: Connection closed by remote host

Offensichtlich gibt es viele Gründe, warum dies passieren könnte - der Proxy lässt dies möglicherweise nicht zu, die Remote-Box führt möglicherweise nicht sshd aus usw.

Also habe ich versucht, manuell über Telnet zu tunneln:

$ 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

Also, wenn ich mich nicht irre ... es sieht so aus, als ob die Verbindung besteht Arbeiten .

Warum funktioniert es dann nicht mit einem Korkenzieher?

ssh -vvv [email protected] -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
Siler
quelle
Sie haben über CONNECT eine Verbindung auf Port 22 hergestellt, haben aber tatsächlich einen SSH-Handshake versucht? Möglicherweise erkennt der Proxy SSH, was einfach ist, und trennt die Verbindung.
Icydog

Antworten:

0

Es ist möglich, dass Sie versuchen, durch einen Proxy zu tunneln, gegen den Korkenzieher wurde nicht entwickelt / getestet / getestet. Korkenziehers Homepage Staaten (wörtlich):

Corkscrew wurde mit den folgenden HTTP-Proxys getestet:

Stulpe

CacheFlow

JunkBuster

Tintenfisch

Apache's mod_proxy

Bitte mailen Sie mir, wenn Sie es mit einem anderen Proxy arbeiten lassen

Wissen Sie, welcher Proxy in Ihrem Fall ausgeführt wird?

MariusMatutiae
quelle
0

Sie können überprüfen, ob der Korkenzieher ordnungsgemäß funktioniert, indem Sie Ihren Proxy-Befehl direkt in der Befehlszeile ausführen. In Ihrem Fall läuft

corkscrew proxy.evilcorporation.com 82 myremotehost.com 22

sollte Ausgabe wie erzeugen

SSH-2.0-OpenSSH_6.7

Das heißt das SSH-Protokollbanner vom Remote-Server. Wenn dies nicht funktioniert, stimmt etwas nicht mit Ihrem Proxy und / oder Ihrem SSH-Server.

djm
quelle