Attacher le proxy réseau à une session JSch
Choisissez l'adaptateur HTTP CONNECT ou SOCKS5 de JSch avant d'ouvrir la session SSH utilisée par un transfert SFTP.
JSch place le proxy réseau sur la session SSH. Un canal SFTP ouvert au-dessus de cette session emprunte ensuite la route établie.
Pour une session déjà configurée vers le serveur SSH visé, choisissez une passerelle HTTP CONNECT avant de vous connecter :
ProxyHTTP gateway = new ProxyHTTP("proxy.example", 8080);
session.setProxy(gateway);
session.connect(10000);
La session conserve la destination SSH, la configuration de connexion et la politique de clé d'hôte. L'adresse de la passerelle désigne l'intermédiaire. Sa politique doit autoriser le port SSH réel de la destination. Pour un serveur SFTP accessible publiquement sur une route publique autorisée, la liste de proxys HTTP propose des adresses de passerelle pour le premier exemple. Utilisez un nouvel adaptateur de proxy sans identifiants de proxy et confirmez l'autorisation pour l'hôte et le port SSH réels.
Pour un service SOCKS5, utilisez plutôt l'adaptateur correspondant :
session.setProxy(new ProxySOCKS5("proxy.example", 1080));
Choisissez l'adaptateur correspondant au protocole du point de terminaison. Un proxy HTTP et un écouteur SOCKS ne comprennent pas la même négociation.
Lorsque la connexion proxy HTTP Basic de JSch convient, appelez gateway.setUserPasswd(proxyUser, proxyPassword) avant de vous connecter. Le compte SSH reste configuré sur la session. Ouvrez le canal SFTP une fois la session connectée, puis déconnectez le canal et la session à la fin du transfert.