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 9991
của LocalPC
để mỗi lần kết nối trên LocalPC
được bắt đầu từ cổng 9991
nó đi qua mit.edu
rồi hec.edu
.
Ví dụ về trường hợp sử dụng: hec.edu
có 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 bob
on mit.edu
(tức là dylan123
), sau đó nó sẽ hỏi bạn mật khẩu của john
on hec.edu
(tức là doe456
).
Tại thời điểm đó, proxy SOCKS hiện đang chạy trên cổng 9991
của LocalPC
.
Ví dụ: nếu bạn muốn truy cập trang web LocalPC
bằng proxy SOCKS, bạn có thể thực hiện trong Firefox:
Một số nhận xét:
- trong
~/.ssh/config
, HEC
là 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
-D9991
kể ssh
để thiết lập một proxy SOCKS4 trên cổng 9991
.