การเชื่อมต่อ SSH ของ JSch ผ่าน SOCKS5
กำหนดค่าเซสชัน SSH ของ JSch ผ่าน SOCKS5 พร้อมแยกคุณสมบัติฝั่งไคลเอนต์นั้นออกจากการให้ตัวรับฟัง SOCKS แบบไดนามิกของ SSH
ProxySOCKS5 ทำให้เซสชัน JSch เป็นไคลเอนต์ของบริการ SOCKS ที่มีอยู่ มันไม่ได้ให้คุณสมบัติตรงข้าม—ตัวรับฟัง SOCKS ที่พาไคลเอนต์อื่นผ่าน SSH—ด้วยตัวเอง
JSch jsch = new JSch();
jsch.setKnownHosts("/home/alex/.ssh/known_hosts");
Session session = jsch.getSession("alex", "ssh.example.net", 22);
ProxySOCKS5 proxy = new ProxySOCKS5("127.0.0.1", 1080);
session.setProxy(proxy);เรียกใช้สิ่งนี้ก่อนการยืนยันตัวตน SSH และการเชื่อมต่อเซสชันของแอปพลิเคชัน จัดเตรียมไฟล์ known-hosts พร้อมอัตลักษณ์ของเซิร์ฟเวอร์ SSH ที่ต้องการ และคงการตรวจสอบเหล่านั้นไว้ผ่านพร็อกซี
อินเทอร์เฟซข้อมูลรับรองของออบเจ็กต์พร็อกซี เมื่อจำเป็น จะยืนยันตัวตนกับตัวกลาง ไม่ได้แทนที่การเข้าสู่ระบบ SSH สำหรับเซิร์ฟเวอร์ SSH ที่เข้าถึงได้จากสาธารณะซึ่งอนุญาตตัวกลางสาธารณะ รายการพร็อกซี SOCKS5 เสนอผู้สมัครสำหรับ ProxySOCKS5 ใช้แบบฟอร์มที่ไม่มีบัญชีพร็อกซีตามที่แสดง และยืนยันว่าโหนดอนุญาตโฮสต์และพอร์ต SSH จริง
สำหรับข้อกำหนดของตัวรับฟัง ให้แยกการส่งต่อแบบคงที่ไปยังเป้าหมายเดียวที่กำหนดไว้ล่วงหน้า จากการเจรจา SOCKS แบบไดนามิกสำหรับแต่ละไคลเอนต์ วิธีการอุโมงค์ที่ไม่เกี่ยวข้องไม่ได้ให้เซิร์ฟเวอร์นั้น ตรวจสอบความสามารถสาธารณะที่แน่นอนของไลบรารีที่ติดตั้ง แทนการตีความ “การรองรับ SOCKS” ว่าเป็นทั้งสองงาน