De netwerkproxy aan een JSch-sessie koppelen
Kies de HTTP CONNECT- of SOCKS5-adapter van JSch voordat u de SSH-sessie opent die een SFTP-overdracht gebruikt.
JSch plaatst de netwerkproxy op de SSH-sessie. Een SFTP-kanaal dat over die sessie wordt geopend, gebruikt daarna de opgezette route.
Voor een sessie die al op de bedoelde SSH-server is geconfigureerd, kiest u voor het verbinden een HTTP CONNECT-gateway:
ProxyHTTP gateway = new ProxyHTTP("proxy.example", 8080);
session.setProxy(gateway);
session.connect(10000);
De sessie bevat nog steeds de SSH-bestemming, de inlogconfiguratie en het host-sleutelbeleid. Het gatewayadres wijst de tussenpersoon aan. Het beleid moet de werkelijke SSH-poort van de bestemming toestaan. Voor een publiek bereikbare SFTP-server op een toegestane openbare route biedt de HTTP-proxylijst gatewayadressen voor het eerste voorbeeld. Gebruik een nieuwe proxy-adapter zonder proxyreferenties en bevestig de toestemming voor de werkelijke SSH-host en -poort.
Voor een SOCKS5-dienst gebruikt u in plaats daarvan de bijbehorende adapter:
session.setProxy(new ProxySOCKS5("proxy.example", 1080));
Kies de adapter die past bij het protocol van het eindpunt. Een HTTP-proxy en een SOCKS-listener begrijpen niet dezelfde onderhandeling.
Waar de HTTP Basic-proxylogin van JSch passend is, roept u voor het verbinden gateway.setUserPasswd(proxyUser, proxyPassword) aan. Het SSH-account blijft op de sessie geconfigureerd. Open het SFTP-kanaal nadat de sessie is verbonden, en verbreek het kanaal en de sessie wanneer de overdracht klaar is.