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

บนไคลเอนต์ OpenSSH ที่รองรับการส่งต่อระยะไกลแบบไม่มีปลายทาง:

ssh -N -R 127.0.0.1:1080 [email protected]

ตัวรับฟัง SOCKS อยู่บน remote.example.net ผูกกับที่อยู่ loopback ของมัน โปรแกรมที่นั่นใช้ 127.0.0.1:1080 การเชื่อมต่อไปยังปลายทางวิ่งกลับผ่าน SSH และถูกเปิดจากฝั่งที่ไคลเอนต์ของคุณทำงานอยู่

อ่านทิศทางก่อนอ่าน IP

เอกสารของ ‎-R ทำให้ปลายทางที่ละไว้มีความหมาย สำคัญ ข้อกำหนดที่มี port:host:hostport กลับเป็นการส่งต่อแบบตายตัว อย่าสันนิษฐานว่าไคลเอนต์รุ่นเก่ารองรับรูปแบบไดนามิกแบบสั้น

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

จำกัดตัวรับฟังระยะไกลไว้ การผูกด้วยไวลด์การ์ดอาจทำให้เครื่องอื่นใช้เครือข่ายฝั่งไคลเอนต์ของคุณเป็นทางออกได้ ตามนโยบายของเซิร์ฟเวอร์ แม้แต่ loopback ก็อาจเข้าถึงได้โดยโปรเซสอื่นที่เข้าเกณฑ์บนโฮสต์ระยะไกล มันไม่ใช่ความลับเฉพาะโปรเซส

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

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