Ubuntu 14.04 -gスイッチを使用してSSHトンネリングを使用できませんか?

Ubuntu 14.04 -gスイッチを使用してSSHトンネリングを使用できませんか?

myServerで次のコマンドを実行します。

ssh -g -p 9922 -f myuser@serverOnOpenInternet -L 1212:serverBehindFirewall:80 -N

serverOnOpenInternet は、ポート 9922 で sshd を実行します。 (私の電話番号ではありません)

myServerで関連コマンドを実行すると、次のことができます。

wget http://localhost:1212/

serverBehindFirewallのインデックスページに正常に到達します。

しかし:他のコンピュータで攻撃しようとすると:

http://myServer:1212/

接続がタイムアウトし、トンネルを介して serverBehindFirewall に接続できません。

Macで-gスイッチをテストし、期待どおりに動作していることを確認しました。私はこれがsshの他のバージョン/実装であることを知っています。しかし、私が知っている限り、Ubuntu 14.04のsshは-gスイッチもサポートする必要があります。 (マンページに記載されています)

助けてください:)

答え1

-L オプションにバインド・アドレスを指定する必要がある場合があります。良い:

-L 192.168.1.100:1212:serverBehindFirewall:80

リクエストに応じて下から貼り付けます。

/etc/ssh/ssh_configの「GatewayPorts」オプションを「yes」に設定することで問題を解決しました。

これは「GatewayPorts yes」を指定するのとほぼ同じ効果があります。指定されたアドレスにバインドされます。 「GatewayPorts yes」オプションは、ワイルドカードアドレス(0.0.0.0)に自動的にバインドされ、リモートクライアントが接続できるようにします。指定せずにIP-Addressをバインディングに使用しない場合(-L:::)、ループバックアドレス127.0.0.1のみをバインドするため、リモートホストは接続できません。

関連情報