Lệnh để chuyển tiếp cổng 80 từ máy cục bộ của bạn ( localhost
) đến máy chủ từ xa trên cổng 8000 là:
ssh -R 8000:localhost:80 oli@remote-machine
Điều này đòi hỏi một tinh chỉnh bổ sung trên máy chủ SSH, thêm các dòng vào /etc/ssh/sshd_config
:
Match User oli
GatewayPorts yes
Tiếp theo, tải lại cấu hình bằng cách thực thi máy chủ sudo reload ssh
.
Cài đặt GatewayPorts yes
khiến SSH liên kết cổng 8000 trên địa chỉ ký tự đại diện, do đó, nó trở nên khả dụng đối với địa chỉ công khai của remote-machine
( remote-machine:8000
).
Nếu bạn cần có tùy chọn không ràng buộc mọi thứ trên địa chỉ ký tự đại diện, hãy đổi GatewayPorts yes
thành GatewayPorts clientspecified
. Vì ssh
mặc định liên kết với địa chỉ loopback, bạn cần chỉ định một khoảng trống bind_address
để liên kết địa chỉ ký tự đại diện:
ssh -R :8000:localhost:80 oli@remote-machine
Cái :
trước 8000
là bắt buộc nếu GatewayPorts
được đặt thành clientspecified
và bạn muốn cho phép truy cập công khai remote-machine:8000
.
Đoạn trích thủ công có liên quan:
ssh (1)
-R [bind_address:] port: host: hostport
Chỉ định rằng cổng đã cho trên máy chủ (máy chủ) từ xa sẽ được chuyển tiếp đến máy chủ và cổng đã cho ở phía cục bộ. Điều này hoạt động bằng cách phân bổ một ổ cắm để nghe cổng ở phía xa và bất cứ khi nào kết nối được thực hiện với cổng này, kết nối sẽ được chuyển tiếp qua kênh bảo mật và kết nối được thực hiện để lưu trữ cổng máy chủ từ máy cục bộ. Theo mặc định, ổ cắm nghe trên máy chủ sẽ chỉ bị ràng buộc với giao diện loopback. Điều này có thể được ghi đè bằng cách chỉ định một bind_address. Một bind_address trống, hoặc địa chỉ '*', chỉ ra rằng ổ cắm từ xa sẽ lắng nghe trên tất cả các giao diện. Chỉ định một bind_address từ xa sẽ chỉ thành công nếu tùy chọn GatewayPorts của máy chủ được bật (xem sshd_config (5)).
sshd_config (5)
Cổng
kết nối Chỉ định liệu máy chủ từ xa có được phép kết nối với cổng được chuyển tiếp cho máy khách hay không. Cổng Gateway có thể được sử dụng để chỉ định rằng sshd sẽ cho phép chuyển tiếp cổng từ xa liên kết với các địa chỉ không vòng lặp, do đó cho phép các máy chủ khác kết nối. Đối số có thể là 'không' để buộc chuyển tiếp cổng từ xa chỉ khả dụng cho máy chủ cục bộ, 'có' để buộc chuyển tiếp cổng từ xa liên kết với địa chỉ ký tự đại diện hoặc 'clientpecified' để cho phép khách hàng chọn địa chỉ mà việc chuyển tiếp bị ràng buộc. Mặc định là 'không'.
Xem thêm:
GatewayPorts
là viên đạn ma thuật ở đây. Tôi thích rằng bạn đã tìm thấy một phiên bản có thể cho phép tôi giới hạn kỹ thuật khá mạnh mẽ này đối với một số người dùng nhất định.