動的に転送されたポートをSSHに複数のリモート接続を許可する

動的に転送されたポートをSSHに複数のリモート接続を許可する

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

おすすめ記事