การเชื่อมต่อพร็อกซีเครือข่ายกับเซสชัน JSch
เลือกอะแดปเตอร์ HTTP CONNECT หรือ SOCKS5 ของ JSch ก่อนเปิดเซสชัน SSH ที่การถ่ายโอน SFTP ใช้งาน
JSch วางพร็อกซีเครือข่ายไว้บนเซสชัน SSH ช่อง SFTP ที่เปิดบนเซสชันนั้นจะใช้เส้นทางที่สร้างไว้
สำหรับเซสชันที่กำหนดค่าไปยังเซิร์ฟเวอร์ SSH เป้าหมายไว้แล้ว ให้เลือกเกตเวย์ HTTP CONNECT ก่อนเชื่อมต่อ:
ProxyHTTP gateway = new ProxyHTTP("proxy.example", 8080);
session.setProxy(gateway);
session.connect(10000);
เซสชันยังคงเก็บปลายทาง SSH การกำหนดค่าการเข้าสู่ระบบ และนโยบายคีย์โฮสต์ ที่อยู่เกตเวย์ระบุตัวกลาง นโยบายของเกตเวย์ต้องอนุญาตพอร์ต SSH จริงของปลายทาง สำหรับเซิร์ฟเวอร์ SFTP ที่เข้าถึงได้สาธารณะบนเส้นทางสาธารณะที่ได้รับอนุญาต รายการพร็อกซี HTTP มีที่อยู่เกตเวย์สำหรับตัวอย่างแรก ใช้อะแดปเตอร์พร็อกซีใหม่ที่ไม่มีข้อมูลรับรองพร็อกซี และยืนยันการอนุญาตสำหรับโฮสต์และพอร์ต SSH จริง
สำหรับบริการ SOCKS5 ให้ใช้อะแดปเตอร์ที่ตรงกันแทน:
session.setProxy(new ProxySOCKS5("proxy.example", 1080));
เลือกอะแดปเตอร์ที่ตรงกับโปรโตคอลของปลายทาง พร็อกซี HTTP และตัวรับฟัง SOCKS ไม่เข้าใจการเจรจาแบบเดียวกัน
เมื่อการเข้าสู่ระบบพร็อกซี HTTP Basic ของ JSch เหมาะสม ให้เรียก gateway.setUserPasswd(proxyUser, proxyPassword) ก่อนเชื่อมต่อ บัญชี SSH ยังคงถูกกำหนดค่าบนเซสชัน เปิดช่อง SFTP หลังจากเซสชันเชื่อมต่อแล้ว และตัดการเชื่อมต่อช่องและเซสชันเมื่อการถ่ายโอนเสร็จสิ้น