ファイアウォールの背後にある複数のクライアントからの SSH 接続を受け入れるパブリック サーバーがあります。
これらの各クライアントはssh -R
、ポート 80 の Web サーバーから公開サーバーへのコマンドを使用して、リバース SSH トンネルを作成します。
リバース SSH トンネルの宛先ポート (クライアント側) は 80 で、送信元ポート (パブリック サーバー側) はユーザーによって異なります。各ユーザーのポート アドレスのマップを維持する予定です。
たとえば、クライアント A はポート 80 の Web サーバーをポート 8000 にトンネリングします。クライアント B は 80 から 8001 まで。クライアント C を 80 から 8002 に。
Client A: ssh -R 8000:internal.webserver:80 clienta@publicserver
Client B: ssh -R 8001:internal.webserver:80 clientb@publicserver
Client C: ssh -R 8002:internal.webserver:80 clientc@publicserver
基本的に、私たちがしようとしているのは、各ユーザーをポートにバインドし、他のポートへのトンネリングを許可しないことです。
で SSH のフォワード トンネリング機能を使用している場合ssh -L
、設定を使用して、どのポートをトンネリングするかを許可できpermitopen=host:port
ます。ただし、リバース SSH トンネルに相当するものはありません。
ユーザーごとにリバース トンネリング ポートを制限する方法はありますか?