sshdが特定のポートでのみパスワードを受け入れるようにすることは可能ですか?


24

sshd複数のPortディレクティブを使用することで、複数のポートでリッスンできることはわかっています。ただし、ポートごとに設定を個別に調整することはできますか?特に、あるポートでパスワード認証を許可し、別のポートでパスワード認証を禁止することは可能ですか?


1
ちなみに、私がこれをしているのは、LANではなくWANからのパスワードを許可したいからです。WANファイアウォールでは、より制限の厳しいポートにのみ接続できます。
ローレンスゴンサルベス

1
標準のポート番号を使用する場合は、IPアドレスによる制限も参照してください。
エンドリュク14年

回答:


32

これはMatchディレクティブで実現できます。

/etc/sshd_config、複数のポートを宣言します。

Port 22
Port 2222

次に、ファイルの最後に次を追加します。

Match LocalPort 2222
PasswordAuthentication no

ポート2222でパスワード認証が無効になることを除き、すべての設定はポート間で共有されます。


+1非常に興味深い
カルロスキャンデロス

あまりにも悪いとMatch動作しませんAllowUsers。特定のポートのユーザーを制限する必要がある場合は、複数のsshdインスタンスを実行する必要があります。
ボブ14年

0

単一のsshdプロセス、私はそうは思いませんが、2番目の構成ファイルをセットアップし、2つのsshdリスナーを実行するのはかなり簡単なはずです。1つはパスワードポートで、もう1つは非パスワードポートで実行します。


3
実際に、sshdの単一のインスタンスでこれを行う方法があることがわかりました。私が投稿した回答を参照してください。とにかくありがとう。
ローレンスゴンサルベス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.