Anexar o proxy de rede a uma sessão JSch
Escolha o adaptador HTTP CONNECT ou SOCKS5 do JSch antes de abrir a sessão SSH usada por uma transferência SFTP.
O JSch coloca o proxy de rede na sessão SSH. Um canal SFTP aberto sobre essa sessão usa então a rota estabelecida.
Para uma sessão já configurada para o servidor SSH pretendido, escolha um gateway HTTP CONNECT antes de conectar:
ProxyHTTP gateway = new ProxyHTTP("proxy.example", 8080);
session.setProxy(gateway);
session.connect(10000);
A sessão continua a manter o destino SSH, a configuração de login e a política de chave do host. O endereço do gateway identifica o intermediário. A sua política deve permitir a porta SSH real do destino. Para um servidor SFTP acessível publicamente numa rota pública permitida, a lista de proxies HTTP oferece endereços de gateway para o primeiro exemplo. Use um novo adaptador de proxy sem credenciais de proxy e confirme a permissão para o host e a porta SSH reais.
Para um serviço SOCKS5, use antes o adaptador correspondente:
session.setProxy(new ProxySOCKS5("proxy.example", 1080));
Escolha o adaptador que corresponde ao protocolo do ponto final. Um proxy HTTP e um ouvinte SOCKS não entendem a mesma negociação.
Onde o login de proxy HTTP Basic do JSch for adequado, chame gateway.setUserPasswd(proxyUser, proxyPassword) antes de conectar. A conta SSH permanece configurada na sessão. Abra o canal SFTP depois de a sessão ligar e desligue o canal e a sessão quando a transferência terminar.