ssh转发多个端口


9

所以这对我有用:

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

如果我还要增加端口怎么办?

我不仅要转发8080,还要转发8443、8923和8181?

我需要为每个端口进行新连接吗?

Answers:


19

不,您不需要每个转发端口一个连接,只需添加其他-L语句即可:

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

如果您这样设置匹配部分,则可以ssh jump使用“ alias” 缩短为:jump~/.ssh/config

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

我已经使用这种技术很多年了,肯定已经使用了10多个端口,但是当我需要转发更多端口时,我会使用Dynamic Socks Proxy支持-D


1
连接时,我将看到每个转发端口的这些错误消息:bind: Address already in use channel_setup_fwd_listener_tcpip: cannot listen to port:然后Could not request local forwarding.使用Control *设置,这些错误消息就消失了,谢谢!PS:我在SE上经常使用该评论标记,而您是我见过的第一个使用它的人。感谢:)
Dan Dascalescu,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.