Inilalagay ng JSch ang proxy ng network sa sesyon ng SSH. Ang channel ng SFTP na binubuksan sa sesyong iyon ay gumagamit pagkatapos ng itinatag na ruta.

Para sa sesyong naka-configure na sa target na server ng SSH, pumili ng gateway na HTTP CONNECT bago kumonekta:

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

Hawak pa rin ng sesyon ang destinasyon ng SSH, ang configuration ng login at ang patakaran sa key ng host. Tinutukoy ng address ng gateway ang tagapamagitan. Dapat payagan ng patakaran nito ang totoong port ng SSH ng destinasyon. Para sa server ng SFTP na maaaring maabot ng publiko sa pinapayagang pampublikong ruta, nag-aalok ang listahan ng proxy ng HTTP ng mga address ng gateway para sa unang halimbawa. Gumamit ng bagong adapter ng proxy na walang kredensyal ng proxy at kumpirmahin ang pahintulot para sa totoong host at port ng SSH.

Para sa serbisyo ng SOCKS5, gamitin sa halip ang katumbas na adapter:

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

Piliin ang adapter na tumutugma sa protocol ng endpoint. Ang proxy ng HTTP at tagapakinig ng SOCKS ay hindi nauunawaan ang parehong negosasyon.

Kung saan angkop ang login ng proxy na HTTP Basic ng JSch, tawagan ang gateway.setUserPasswd(proxyUser, proxyPassword) bago kumonekta. Nananatiling naka-configure ang account ng SSH sa sesyon. Buksan ang channel ng SFTP pagkatapos kumonekta ang sesyon, at idiskonekta ang channel at sesyon kapag natapos ang transfer.

Kaugnay na mga artikulo