web-dev-qa-db-ja.com

GatewayPortsが有効になっていても、リバースSSHトンネルポートにリモートで接続できないのはなぜですか?

私の部署のホストへの常時SSHアクセスが必要です。そのホストのIPアドレスは動的に割り当てられます。ターゲットホストから静的IPアドレスを処理するホストの1つへのリモートSSHトンネルを設定しました。

ssh -f -N -g -R :22223:localhost:22 tunnelhost

SSHをトンネルホストのローカルポート22223にポイントすると、トンネルは正常に機能します。私の問題は、localhost以外にバインドされたトンネルを取得できないように見えることです。つまり、リモートでtunnelhost:12323にSSH接続しようとすると、それを受信するための開いているポートがありません。私も試しました:

ssh -f -N -R :22223:localhost:22 tunnelhost -o GatewayPorts=yes

しかし、まだ運はありません。 Netstatは私を示しています:

[me@tunnel_Host ~]$ netstat -an | grep 22223
tcp        0      0 127.0.0.1:22223         0.0.0.0:*               LISTEN
tcp6       0      0 ::1:22223               :::*                    LISTEN

トンネルがlocalhostにのみバインドされていることを確認します。 firewalld-cmdを使用して、トンネルホストにポート例外を追加し、ネットワークハードウェアが接続に干渉していないことを確認しました。それが何であるかについてのアイデアはありますか?

乾杯、ジェームズ。

21

リモートポートでループバック以外のインターフェースへのバインディングを有効にするには、クライアントではなく、SSHd(GatewayPorts=yes)の構成で/etc/ssh/sshd_configを有効にする必要があります。

-o GatewayPorts=yes

sshコマンドに渡された場合のみ、ローカルポートで機能します。

30
Darth Android