หาก relay.example.net รัน SOCKS บน 127.0.0.1:1080 ของตัวเองอยู่แล้ว ให้ส่งต่อการเข้าถึงแทนการเปิดเผยตัวรับฟังนั้นต่อสาธารณะ:

ssh -N -L 127.0.0.1:1081:127.0.0.1:1080 [email protected]
จุดปลายบทบาท
แล็ปท็อป 127.0.0.1:1081ที่อยู่ SOCKS ที่ต้องกำหนดค่าในแอปของแล็ปท็อป
รีเลย์ 127.0.0.1:1080พร็อกซีที่มีอยู่ซึ่งเข้าถึงได้จากฝั่งเซิร์ฟเวอร์ SSH

ไวยากรณ์การส่งต่อภายใน กำหนดปลายทางคงที่ให้ฝั่งเซิร์ฟเวอร์ พร็อกซี HTTP บนพอร์ต loopback ระยะไกล 3128 หรือจุดปลายในอินทราเน็ตอย่าง proxy.internal.example:8080 ทำงานตามหลักการเดียวกัน กำหนดค่าไคลเอนต์สำหรับ โปรโตคอล HTTP ที่มีอยู่นั้น และบัญชี การส่งผ่าน SSH ไม่ได้สร้าง SOCKS หรือตัวรับฟัง HTTPS ที่เปิด TLS

บริการที่มีอยู่ยังคงเลือกเวอร์ชันโปรโตคอลที่รองรับ การรับรองความถูกต้อง ปลายทาง และทางออกสุดท้าย หากโพรเซส SSH อื่นสร้างพร็อกซีระยะไกลนั้น ทั้งสองโพรเซสต้องคงอยู่ เส้นทางแล็ปท็อป→รีเลย์→เกตเวย์ทำให้เว็บไซต์เห็นการเชื่อมต่อขาออกครั้งสุดท้าย ไม่ใช่ตัวตนที่พอร์ตภายใน 1081 จัดสรร

รักษาการผูกของแล็ปท็อปให้เป็นภายในอย่างชัดเจน การเปิดเผยกว้างขึ้นเปลี่ยนว่าใครเข้าถึงบริการได้ และการเข้าสู่ระบบ SSH ไม่ได้เพิ่มรหัสผ่าน SOCKS ให้ตัวรับฟัง หากถูกปฏิเสธ ให้ตรวจสอบตัวรับฟังของแล็ปท็อป การขนส่ง SSH และพร็อกซีระยะไกลเป็นขั้นตอนแยกกัน

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