JSch lægger netværksproxien på SSH-sessionen. En SFTP-kanal, der åbnes over den session, bruger derefter den etablerede rute.

For en session, der allerede er konfigureret mod den tilsigtede SSH-server, vælges en HTTP CONNECT-gateway før tilslutning:

ProxyHTTP gateway = new ProxyHTTP("proxy.example", 8080);
session.setProxy(gateway);
session.connect(10000);

Sessionen holder stadig SSH-destinationen, login-konfigurationen og værtsnøglepolitikken. Gateway-adressen angiver mellemleddet. Dets politik skal tillade destinationens faktiske SSH-port. For en offentligt tilgængelig SFTP-server på en tilladt offentlig rute tilbyder HTTP-proxylisten gateway-adresser til det første eksempel. Brug en ny proxy-adapter uden proxy-legitimationsoplysninger, og bekræft tilladelsen for den faktiske SSH-vært og -port.

Til en SOCKS5-tjeneste bruges den tilsvarende adapter i stedet:

session.setProxy(new ProxySOCKS5("proxy.example", 1080));

Vælg den adapter, der passer til endepunktets protokol. En HTTP-proxy og en SOCKS-lytter forstår ikke samme forhandling.

Hvor JSchs HTTP Basic-proxy-login er passende, kaldes gateway.setUserPasswd(proxyUser, proxyPassword) før tilslutning. SSH-kontoen forbliver konfigureret på sessionen. Åbn SFTP-kanalen, efter at sessionen er tilsluttet, og afbryd kanalen og sessionen, når overførslen er færdig.

Relaterede artikler