UbuntuとOpenSSHデーモンを実行しているサーバーがあります。それをS1と呼びましょう。
クライアントマシンからこのサーバーを使用して(C1の1つを呼び出しましょう)、リモートポート転送を使用してSSHリバーストンネルを実行します。
ssh -R 1234:localhost:23 login@S1
S1では、デフォルトのsshd_configファイルを使用します。私が見ることができることから、S1で正しい資格情報{login、pwd}を持っている人は誰でもS1にログインでき、リモートポート転送とローカルポート転送を行うことができます。このような資格情報は将来的に証明書になる可能性があるため、証明書を取得した人はどこからでも(必ずしもC1ではない)S1にログインできるため、ローカルポート転送を作成できます。
私にとって、ローカルポートフォワーディングを許可すると、ある種のパブリックプロキシを作成できるため、あまりにも危険です。-L転送のみを無効にする方法を探しています。
私は次のことを試しましたが、これはローカルとリモートの両方の転送を無効にします:
AllowTcpForwarding No
また、次のことも試してみました。これにより、-LからSX:1のみが許可されます。何もないよりはましですが、それでも私が必要とするものではありません。これは「なし」オプションです。
PermitOpen SX:1
だから、方法があるかどうか疑問に思っているので、すべてのローカルポート転送を禁止して次のようなものを書くことができます:
PermitOpen none:none
次はいいアイデアですか?
PermitOpen localhost:1