JSch umieszcza proxy sieciowe w sesji SSH. Kanał SFTP otwarty w tej sesji korzysta następnie z ustanowionej trasy.

W przypadku sesji już skonfigurowanej do docelowego serwera SSH wybierz bramę HTTP CONNECT przed połączeniem:

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

Sesja nadal przechowuje cel SSH, konfigurację logowania i zasady klucza hosta. Adres bramy wskazuje pośrednika. Jej zasady muszą zezwalać na rzeczywisty port SSH celu. Dla publicznie dostępnego serwera SFTP na dozwolonej publicznej trasie lista proxy HTTP oferuje adresy bram dla pierwszego przykładu. Użyj nowego adaptera proxy bez poświadczeń proxy i potwierdź zezwolenie dla rzeczywistego hosta i portu SSH.

W przypadku usługi SOCKS5 użyj zamiast tego odpowiedniego adaptera:

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

Wybierz adapter zgodny z protokołem punktu końcowego. Proxy HTTP i nasłuchiwacz SOCKS nie rozumieją tej samej negocjacji.

Tam gdzie logowanie proxy HTTP Basic w JSch jest właściwe, wywołaj gateway.setUserPasswd(proxyUser, proxyPassword) przed połączeniem. Konto SSH pozostaje skonfigurowane w sesji. Otwórz kanał SFTP po połączeniu sesji, a po zakończeniu transferu rozłącz kanał i sesję.

Powiązane artykuły