SSHで複数のポートを転送する


9

これは私にとってはうまくいきます:

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

さらにポートを含める場合はどうすればよいですか?

8080だけでなく8443、8923、8181も転送したいですか?

ポートごとに新しい接続を行う必要がありますか?

回答:


19

いいえ、転送ポートごとに1 つの接続は必要ありません。-Lステートメントを追加するだけです。

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

次のように一致するセクションを設定すると、ssh jump「エイリアス」を使用してこれをに短縮できます。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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.