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


20

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

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

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

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

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

乾杯、ジェームス。

回答:


29

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

-o GatewayPorts=yes

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


Darth Android、ご返事ありがとうございます。-gおよび-o GatewayPortsが(-L)ocalトンネルでのみ機能することは正しいようです。完全を期すために、今後他の誰かがこの問題に遭遇した場合に備えて、この問題についてもう少し詳しく説明します。bugs.debian.org/cgi-bin/bugreport.cgi?bug=228064
ジェームズポールターナー

3
GatewayPorts=clientspecifiedより安全な設定です。askubuntu.com/questions/50064/reverse-port-tunnellingを参照してください。この場合、空のバインドアドレス(末尾のコロン:22223:localhost:2)が必要です。
マイケルゲルツ16

1
GatewayPorts=clientspecified設定自体は安全ではないが、すべての接続をワイルドカードにバインドするのではなく、どの接続をワイルドカードにバインドするかをより細かく制御できると主張します。
ニック

また、sshd_configを改造した後にsshdを再起動します(忘れた場合)
ニック

GatewayPorts=yes転送されたポートが世界中に開かれることに注意してください。
ccpizza
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.