JSch lägger nätverksproxyn på SSH-sessionen. En SFTP-kanal som öppnas över den sessionen använder sedan den upprättade vägen.

För en session som redan är konfigurerad mot den avsedda SSH-servern väljer du en HTTP CONNECT-gateway innan du ansluter:

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

Sessionen behåller fortfarande SSH-målet, inloggningskonfigurationen och värdnyckelprincipen. Gateway-adressen anger mellanledet. Dess princip måste tillåta målets faktiska SSH-port. För en offentligt nåbar SFTP-server på en tillåten offentlig väg erbjuder HTTP-proxylistan gateway-adresser för det första exemplet. Använd en ny proxy-adapter utan proxyuppgifter och bekräfta tillståndet för den faktiska SSH-värden och -porten.

För en SOCKS5-tjänst använd i stället motsvarande adapter:

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

Välj den adapter som matchar slutpunktens protokoll. En HTTP-proxy och en SOCKS-lyssnare förstår inte samma förhandling.

Där JSchs HTTP Basic-proxyinloggning är lämplig anropar du gateway.setUserPasswd(proxyUser, proxyPassword) innan du ansluter. SSH-kontot förblir konfigurerat på sessionen. Öppna SFTP-kanalen efter att sessionen anslutit och koppla från kanalen och sessionen när överföringen är klar.

Relaterade artiklar