ssh -D สร้างตัวรับฟัง SOCKS แต่ไม่ได้เลือกตัวที่มีอยู่สำหรับการเชื่อมต่อของ SSH เอง ด้วยการใช้งาน nc ของ OpenBSD ให้ใช้รายการ host ในการกำหนดค่าไคลเอนต์ SSH เช่น ~/.ssh/config:

Host server-via-socks
    HostName ssh.example.com
    User alex
    ProxyCommand nc -X 5 -x 127.0.0.1:1080 %h %p

เรียก ssh server-via-socks ตัวช่วยจะติดต่อบริการ SOCKS5 บนเครื่องของไคลเอนต์ SSH และขอ host/port เป้าหมาย จากนั้น SSH จะตรวจสอบคีย์ host และเข้าสู่ระบบผู้ใช้ตามปกติภายในสตรีม

ตรวจสอบการสนับสนุนของตัวช่วยก่อนป้อนรหัสผ่านพร็อกซี OpenBSD nc เอกสารการรับรองความถูกต้องของพร็อกซีสำหรับ HTTP CONNECT ไม่ใช่ SOCKS บริการ SOCKS ที่ป้องกันด้วยข้อมูลรับรองอาจต้องใช้ตัวช่วยอื่นที่เข้ากันได้ ให้คงการรับรองความถูกต้องของพร็อกซีที่ใช้ร่วมกันไว้ แทนที่จะลบออกเพื่อให้เข้ากับไคลเอนต์ที่ไม่รองรับ

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

การตั้งค่านี้ใช้กับการเชื่อมต่อ SSH นี้เท่านั้น ไม่ได้กำหนดค่าการรับส่งของเบราว์เซอร์หรือแอปพลิเคชันอื่นใด

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