web-dev-qa-db-ja.com

/ etc / ssh / sshd_configファイルの「PasswordAuthentication」について誰かが説明できますか?

このページ の説明は次のとおりです。

オプションPasswordAuthenticationは、パスワードベースの認証を使用するかどうかを指定します。強力なセキュリティを確保するには、このオプションを常にyesに設定する必要があります。

しかし、「はい」または「いいえ」が適切である場合を明確にするユースケースシナリオは提供していません。誰かがさらに詳しく説明してもらえますか?

32
Zeta2

あなたのリンクは、10年前のドキュメントを示しています。

SSHは、ユーザーを認証する複数の方法をサポートしています。最も一般的な方法は、ログインとパスワードを尋ねることですが、ユーザーにログインと公開鍵を認証することもできます。 PasswordAuthenticationをnoに設定すると、認証にログインとパスワードを使用できなくなり、代わりにログインと公開鍵を使用する必要があります( PubkeyAuthentication がyesに設定されている場合)

24
radius

PasswordAuthentication設定は、すべてのパスワードベースの認証を制御するわけではないことに注意してください。 ChallengeResponseAuthenticationは通常、パスワードも要求します。

PasswordAuthenticationは、RFC-4252(セクション8)で定義された「パスワード」認証スキームのサポートを制御します。 ChallengeResponseAuthenticationは、RFC-4256で定義されている「キーボードインタラクティブ」認証方式のサポートを制御します。 「キーボードインタラクティブ」認証方式は、理論的には、ユーザーに多面的な質問をいくつでも尋ねることができます。実際には、ユーザーのパスワードのみを要求することがよくあります。

パスワードベースの認証を完全に無効にする場合は、PasswordAuthenticationとChallengeResponseAuthenticationの両方を「no」に設定します。ベルトとサスペンダーの考え方を持っている場合は、UsePAMを 'no'に設定することも検討してください。

公開鍵/秘密鍵ベースの認証(PubkeyAuthentication設定によって有効化)は、もちろん、サーバーへのユーザーパスワードの送信を含まない別の種類の認証です。

自動化が難しいため、ChallengeResponseAuthenticationを使用するとPasswordAuthenticationよりも安全であると主張する人もいます。したがって、ChallengeResponseAuthenticationを有効にしたまま、PasswordAuthenticationを無効にしておくことをお勧めします。この構成では、自動システムログインでの公開鍵認証の使用も推奨されます(ただし、必ずしも防止されるわけではありません)。ただし、SSHはネットワークベースのプロトコルであるため、サーバーは、チャレンジが常に続く限り、ChallengeResponseAuthentication(別名 'keyboard-interactive')への応答がキーボードに座っているユーザーによって実際に提供されることを保証する方法がありませんユーザーにパスワードを要求するだけです。

56
Izzy

PasswordAuthenticationは、何もする必要がないため、最も簡単な実装です。逆に、暗号化された接続を介してパスワードをサーバーに送信します。パスワードが取得される可能性があるため、サーバーが危険にさらされている場合、これはセキュリティ上の問題になる可能性があります。
公開鍵を使用すると、パスワードはサーバーに送信されません。より安全ですが、より多くの設定が必要です。

3
kaklon

keys を使用する場合はnoに設定するか、強制的に使用することができます。