Trong câu trả lời này tôi sẽ đi qua một ví dụ cụ thể. Bạn chỉ cần thay thế tên máy chủ, tên người dùng và mật khẩu của máy tính.
Báo cáo vấn đề
Giả sử chúng ta có cấu trúc liên kết mạng sau:
our local computer <---> server 1 <---> server 2
Để cụ thể hóa, hãy giả sử rằng chúng tôi có tên máy chủ, tên người dùng và mật khẩu của các máy tính sau:
LocalPC <---> hostname: mit.edu <---> hec.edu
username: bob username: john
password: dylan123 password: doe456
Mục tiêu: chúng tôi muốn thiết lập một proxy SOCKS lắng nghe trên cổng 9991của LocalPCđể mỗi lần kết nối trên LocalPCđược bắt đầu từ cổng 9991nó đi qua mit.edurồi hec.edu.
Ví dụ về trường hợp sử dụng: hec.educó một máy chủ HTTP chỉ có thể truy cập vào http://127.0.0.1:8001 , vì lý do bảo mật. Chúng tôi muốn có thể truy cập http://127.0.0.1:8001 bằng cách mở trình duyệt web trên LocalPC.
Cấu hình
Trong LocalPC, thêm vào ~/.ssh/config:
Host HEC
HostName hec.edu
User john
ProxyCommand ssh bob@mit.edu -W %h:%p
Sau đó, trong thiết bị đầu cuối của LocalPC, chạy:
ssh -D9991 HEC
Nó sẽ hỏi bạn mật khẩu của bobon mit.edu(tức là dylan123), sau đó nó sẽ hỏi bạn mật khẩu của johnon hec.edu(tức là doe456).
Tại thời điểm đó, proxy SOCKS hiện đang chạy trên cổng 9991của LocalPC.
Ví dụ: nếu bạn muốn truy cập trang web LocalPCbằng proxy SOCKS, bạn có thể thực hiện trong Firefox:

Một số nhận xét:
- trong
~/.ssh/config, HEClà tên kết nối: bạn có thể thay đổi nó thành bất cứ điều gì bạn muốn.
- Các
-D9991kể sshđể thiết lập một proxy SOCKS4 trên cổng 9991.