SSH-Tunneling über JSch

9

Mein Ziel ist es, eine Verbindung zu einem Server (Host) herzustellen, der sich hinter einer Firewall befindet. Ich kann auf diesen Server zugreifen, indem ich eine Verbindung zu einem anderen Server (Tunnel) im Netzwerk und dann SSH zu diesem Server herstelle. Ich kann das gleiche Szenario jedoch nicht über JSch implementieren.

Ich kann den unten stehenden Code nicht verwenden, den ich für diesen Zweck geschrieben habe. Bitte lassen Sie mich wissen, wenn ich hier etwas albernes mache.

%Vor%

Der obige Code gibt die folgende Ausnahme für die session.connect(30000); -Zeile an.

%Vor%     
Unni Kris 04.03.2015, 08:56
quelle

1 Antwort

6

Eine SOCKS Proxy-Einstellung für jsch ermöglicht die Verbindung mit einem laufenden Proxy-Server auf der Remote-Seite. Ein sshd auf der entfernten Seite würde nicht als SOCKS proxy angesehen werden. Sie müssen einen lokalen Port vor dem ssh-Port auf der Maschine, auf die Sie tunneln, einrichten und dann eine sekundäre SSH-Verbindung zu diesem System mithilfe der API herstellen.

Ich habe dein Beispiel genommen und es leicht umgeschrieben, um dies zu erreichen:

%Vor%

Dieser Code erstellt einen lokalen Port, der zum ssh-Port auf dem Zielsystem weiterleitet und dann eine Verbindung herstellt. Die Ausführung des Befehls hostname zeigt, dass er tatsächlich auf dem weitergeleiteten System ausgeführt wird.

    
Petesh 04.03.2015, 10:56
quelle

Tags und Links