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” ว่าเป็นทั้งสองงาน

บทความที่เกี่ยวข้อง