3台のマシンがあるとしましょう。
A - SSH経由で接続するサーバー
B - SSH経由で接続するクライアント
C - Bサブネット上の他のクライアント
クライアントBでこのコマンドを実行して、ポート1235の動的ポート転送を設定しました。
ssh -D 1235 a@A
ここで、aはサーバーAのユーザー名です。
このポート1235はBでlocalhostにバインドされているため、このポート1235にのみ接続できます。コマンドを次のように変更すると
ssh -D C:1235 a@A
これにより、CのみBの1235ポートに接続できますが、B自体は接続できません。 3番目のオプションが利用可能です。
ssh -D 0.0.0.0:1235 a@A
B と C は両方とも B のポート 1235 に接続できますが、B と C と同じサブネット上の他のすべてのコンピュータも接続できます。私が本当に望むのは、動的ポートをバインドしてBとCのみを接続し、他のコンピュータは接続できないようにする方法です。この目標をどのように達成できますか?
ベストアンサー1
SSHオプションを使用して-g
、そのポートへのC接続のみを許可するようにファイアウォールルールを設定します。
-g Allows remote hosts to connect to local forwarded ports.
コマンドは次のとおりです。
ssh -g -D 1235 a@A