2016-05-20 10 views
0

Durch Terminal ich mehrmals SSH bin in der Lage zu dem Server verbinden:Wie ssh mehrere Male von JSch: Port-Weiterleitung, SSH-Befehl oder SSH-Tunnel?

(Client ---> Gateway ---> server1 ----> server2 ---)

Aber jetzt Mach es durch JSch Java-Bibliothek, wie geht es? Zuerst versuchte Portforwarding, aber am Terminal mache ich das nicht (-R -L Parameter in ssh nicht einstellen).

Dann stieß ich auf Frage How to SSH to a server behind another SSH server using JSch?, aber ich verstehe nicht, wie man TCP-Tunnel erstellen!

Antwort

1

Portweiterleitung ist der beste Weg zu gehen.

Sie führen keine Portweiterleitung im Terminal durch, da Sie sich manuell mit dem zweiten Abschnitt verbinden, indem Sie den ssh Befehl eingeben. Während Sie das mit JSch automatisieren können, ist es nicht wirklich eine zuverlässige Möglichkeit, ein menschliches Wesen zu simulieren. Wenn Sie den ersten Schritt ssh (terminal) durch JSch ersetzen möchten, wollen Sie aus dem gleichen Grund nicht ssh für den zweiten Schritt verwenden. Die accepted answer in der Frage, die Sie verknüpfen, rät Ihnen auch davon ab, das zu versuchen. Wenn alles in Ordnung ist, könnte es funktionieren. Aber sobald ein Problem auftritt, werden Sie Probleme haben, automatisch damit umzugehen. Beispielsweise können Sie die Hostschlüsselverifizierung für den zweiten Server kaum automatisieren. Die SSH-Tunnel ist Portweiterleitung. Aber vielleicht hat die erwähnte ProxySSH (die anscheinend nicht mehr existiert) intern ohne einen lokalen Port zu öffnen, aber den "Port forwarding" -Kanal direkt in der zweiten Sitzung verwendet. Aber das ist eine viel zu komplizierte Implementierung. Bleiben Sie bei der einfachen Portweiterleitung.

+0

Ich weiß, dass Port-Forwarding der einzige Weg in JSCH ist, können Sie einige Ressourcen für diese Multi-Hop-Tunneling geben? – curio1729

+0

Ich bin mir dieser Ressource nicht bewusst. Stellen Sie zunächst sicher, dass Sie sogar eine [Port-Forwarding-Funktion für einzelne Hops] ausführen können (http://stackoverflow.com/q/37357602/850848). –

+0

Ich kann Single Hop tun – curio1729