ในคำตอบนี้ฉันจะผ่านตัวอย่างที่เป็นรูปธรรม คุณเพียงแค่เปลี่ยนชื่อโฮสต์ชื่อผู้ใช้และรหัสผ่านของคอมพิวเตอร์
คำชี้แจงปัญหา
สมมติว่าเรามีโครงสร้างเครือข่ายต่อไปนี้:
our local computer <---> server 1 <---> server 2
เพื่อความเป็นรูปธรรมสมมติว่าเรามีชื่อโฮสต์ชื่อผู้ใช้และรหัสผ่านของคอมพิวเตอร์ต่อไปนี้:
LocalPC <---> hostname: mit.edu <---> hec.edu
username: bob username: john
password: dylan123 password: doe456
ประตู: เราต้องการที่จะตั้งค่าพร็อกซี่ถุงเท้าที่ฟังในพอร์ต9991ของLocalPCเพื่อที่ว่าทุกครั้งที่มีการเชื่อมต่อบนLocalPCจะเริ่มจากพอร์ต 9991มันผ่านไปแล้วmit.eduhec.edu
ตัวอย่างกรณีการใช้งาน: hec.eduมีเซิร์ฟเวอร์ HTTP ที่สามารถเข้าถึงได้เฉพาะใน http://127.0.0.1:8001เท่านั้นเพื่อเหตุผลด้านความปลอดภัย เราอยากที่จะสามารถเยี่ยมชม http://127.0.0.1:8001LocalPCโดยการเปิดเว็บเบราว์เซอร์บน
องค์ประกอบ
ในLocalPCเพิ่มใน~/.ssh/config:
Host HEC
HostName hec.edu
User john
ProxyCommand ssh bob@mit.edu -W %h:%p
จากนั้นในเทอร์มินัลของLocalPCให้รัน:
ssh -D9991 HEC
มันจะถามรหัสผ่านของbobเปิดmit.edu(เช่นdylan123) จากนั้นจะถามรหัสผ่านของjohnเปิดhec.edu(เช่นdoe456)
ณ จุดที่พร็อกซีถุงเท้าตอนนี้ทำงานบนพอร์ตของ9991LocalPC
ตัวอย่างเช่นหากคุณต้องการเยี่ยมชมเว็บเพจLocalPCโดยใช้พร็อกซี SOCKS คุณสามารถทำได้ใน Firefox:

ข้อสังเกตบางส่วน:
- ใน
~/.ssh/config, HECเป็นชื่อการเชื่อมต่อ: คุณอาจเปลี่ยนเป็นสิ่งที่คุณต้องการ
-D9991บอกsshการตั้งค่าพร็อกซี SOCKS4 9991ในพอร์ต