วางทางออก SOCKS ไว้ที่การกระโดด SSH ครั้งสุดท้าย
รวมการขนส่งผ่านโฮสต์กระโดด SSH เข้ากับการส่งต่อแบบไดนามิกในเครื่อง โดยคงการเชื่อมต่อเว็บไซต์ครั้งสุดท้ายไว้ที่เกตเวย์ที่ตั้งใจ
กำหนดค่าเซิร์ฟเวอร์ SSH ตัวสุดท้ายเป็นโฮสต์ และวางเซิร์ฟเวอร์ตัวกลางไว้ใน ProxyJump:
Host proxy-exit
HostName exit.example
User operator
ProxyJump [email protected]
DynamicForward 127.0.0.1:1080ด้วยบัญชีที่ได้รับอนุญาตบนโฮสต์เหล่านั้น ให้เริ่ม ssh -N proxy-exit กำหนดค่าแอปพลิเคชันในเครื่องให้ใช้ SOCKS ที่ 127.0.0.1:1080 ตัวรับฟังอยู่ที่ไคลเอนต์ การเชื่อมต่อ SSH ไปถึง exit.example ผ่าน jump.example
การเชื่อมต่อเว็บไซต์ที่ร้องขอจะเปิดจากฝั่งไกลของการเชื่อมต่อ SSH ครั้งสุดท้าย—exit.example การกระโดดนำการขนส่ง SSH ไปยังโฮสต์นั้น และไม่ได้กลายเป็นทางออก SOCKS เพียงเพราะเป็นเครื่องแรกที่เข้าถึงได้
ปลายทางเห็นที่อยู่ที่เลือกโดยเส้นทางของโฮสต์ทางออกและ NAT ใด ๆ ไม่จำเป็นต้องตรงกับที่อยู่เข้าสู่ระบบของชื่อโฮสต์ เซิร์ฟเวอร์ทั้งสองต้องมีสิทธิ์ส่งต่อที่บทบาทของตนต้องการ และการตรวจสอบคีย์โฮสต์ยังใช้กับปลายทาง SSH ที่ตั้งใจ
การกำหนดค่านี้สร้างบริการ SOCKS ผ่านการส่งต่อแบบไดนามิกของ SSH หากเกตเวย์รันตัวรับฟัง SOCKS แยกอยู่แล้ว การไปถึงตัวรับฟังนั้นด้วยการส่งต่อแบบคงที่เป็นการจัดวางอีกแบบหนึ่ง