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.

Ähnliche Artikel