JSch colloca il proxy di rete sulla sessione SSH. Un canale SFTP aperto su quella sessione usa poi il percorso stabilito.

Per una sessione già configurata verso il server SSH desiderato, scegliere un gateway HTTP CONNECT prima di connettersi:

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

La sessione conserva ancora la destinazione SSH, la configurazione di accesso e la policy della chiave host. L'indirizzo del gateway identifica l'intermediario. La sua policy deve consentire la porta SSH effettiva della destinazione. Per un server SFTP raggiungibile pubblicamente su un percorso pubblico consentito, il elenco di proxy HTTP offre indirizzi di gateway per il primo esempio. Usare un nuovo adattatore proxy senza credenziali proxy e confermare l'autorizzazione per l'host e la porta SSH effettivi.

Per un servizio SOCKS5, usare invece l'adattatore corrispondente:

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

Scegliere l'adattatore corrispondente al protocollo dell'endpoint. Un proxy HTTP e un listener SOCKS non comprendono la stessa negoziazione.

Dove l'accesso proxy HTTP Basic di JSch è appropriato, chiamare gateway.setUserPasswd(proxyUser, proxyPassword) prima di connettersi. L'account SSH resta configurato sulla sessione. Aprire il canale SFTP dopo che la sessione si è connessa e disconnettere il canale e la sessione al termine del trasferimento.

Articoli correlati