JSch-SSH-Verbindungen über SOCKS5
Konfigurieren Sie eine JSch-SSH-Sitzung über SOCKS5 und trennen Sie diese Client-Funktion vom Bereitstellen eines dynamischen SSH-SOCKS-Listeners.
ProxySOCKS5 macht eine JSch-Sitzung zu einem Client eines bestehenden SOCKS-Dienstes. Sie bietet nicht von sich aus die umgekehrte Funktion—einen SOCKS-Listener, der andere Clients über SSH führt.
JSch jsch = new JSch();
jsch.setKnownHosts("/home/alex/.ssh/known_hosts");
Session session = jsch.getSession("alex", "ssh.example.net", 22);
ProxySOCKS5 proxy = new ProxySOCKS5("127.0.0.1", 1080);
session.setProxy(proxy);Führen Sie dies vor der SSH-Authentifizierung und dem Sitzungsaufbau der Anwendung aus. Stellen Sie die known-hosts-Datei mit der Identität des vorgesehenen SSH-Servers bereit, und behalten Sie diese Prüfungen über den Proxy bei.
Die Anmeldedaten-Schnittstelle des Proxy-Objekts authentifiziert sich bei Bedarf gegenüber dem Vermittler. Sie ersetzt nicht die SSH-Anmeldung. Für einen öffentlich erreichbaren SSH-Server, auf dem öffentliche Vermittler erlaubt sind, bietet die SOCKS5-Proxy-Liste Kandidaten für ProxySOCKS5. Verwenden Sie die gezeigte Form ohne Proxy-Konto, und bestätigen Sie, dass der Knoten den tatsächlichen SSH-Host und -Port zulässt.
Bei Listener-Anforderungen unterscheiden Sie feste Weiterleitung an ein vordefiniertes Ziel von dynamischer SOCKS-Aushandlung für jeden Client. Eine unabhängige Tunnelmethode liefert diesen Server nicht. Prüfen Sie die genaue öffentliche Fähigkeit der installierten Bibliothek, statt „SOCKS-Unterstützung“ als beide Aufgaben zu deuten.