ssh chuyển tiếp nhiều cổng


9

Vì vậy, điều này làm việc cho tôi:

ssh -v -L 8080:remotewebserver:8080 me@jumphost

Nếu tôi cũng muốn bao gồm nhiều cổng hơn thì sao?

Tôi muốn chuyển tiếp không chỉ 8080, mà cả 8443, 8923 và 8181?

Tôi có cần thực hiện kết nối mới cho mỗi cổng không?

Câu trả lời:


19

Không, bạn không cần một kết nối cho mỗi cổng được chuyển tiếp, chỉ cần thêm các -Lcâu lệnh khác:

ssh -L LPort1:RHOST1:RPORT1 -L LPORT2:RHOST2:RPORT2 me@ju.mp.ho.st

Điều này có thể được rút ngắn lại ssh jump, bằng cách sử dụng "bí danh" jump, nếu bạn thiết lập một phần phù hợp ~/.ssh/confignhư thế này:

Host jump
    User myUserName
    Hostname ju.mp.ho.st
    Port 2345
    LocalForward 8080 remotewebserver:8080
    LocalForward 8443 remotewebserver:8443
    LocalForward 8923 remotewebserver:8923
    LocalForward 8181 remotewebserver:8181

# Eliminates reconnection delay, and does not try to re-forward ports:
Host *
  ControlMaster auto
  ControlPath /tmp/%r@%h:%p

Tôi đã sử dụng kỹ thuật này trong nhiều năm, chắc chắn đã có hơn 10 cổng, nhưng khi tôi cần chuyển tiếp nhiều cổng hơn, tôi sử dụng hỗ trợ Dynamic Vớ Proxy -D.


1
Khi kết nối, tôi sẽ thấy các thông báo lỗi này cho mỗi cổng được chuyển tiếp: bind: Address already in use channel_setup_fwd_listener_tcpip: cannot listen to port:sau đó Could not request local forwarding.với cài đặt Control *, chúng sẽ biến mất, cảm ơn! Tái bút: Tôi đã sử dụng cờ bình luận đó rất nhiều trên SE và bạn là người đầu tiên tôi thấy cũng sử dụng nó. Đánh giá cao điều đó :)
Dan Dascalescu
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.