ssh -o PreferredAuthentications:「password」と「keyboard-interactive」の違いは何ですか?


36

両方PreferredAuthentications=passwordPreferredAuthentications=keyboard-interactiveパスワードの入力を求められますが、両者の違いは何ですか?

キーワードssh PreferredAuthenticationsのパスワードとキーボードインタラクティブな違いをGoogleで検索しましたが、答えが見つかりませんでした。

私が気づいた唯一の違いはプロンプト文字列です(user@host's password:Password:):

$ ssh -o PreferredAuthentications=password,keyboard-interactive my-host
root@my-host's password:
Password:
Permission denied (gssapi-keyex,gssapi-with-mic,publickey,keyboard-interactive).

更新(2018-04-09):

簡単に参照できるように、以下はjouellの回答で言及されているSSH:TDGブックからのものです。

"keyboard-interactive"ユーザー認証は、主にPAMサーバー側での認証に対応することを目的としています。サーバーがユーザーにテキストクエリを送信し、ユーザーが応答を入力すると、ユーザーとの複数のチャレンジ/レスポンスダイアログが提供され、このプロセスは何回でも繰り返すことができます。そのため、たとえば、RSAセキュリティトークンまたはワンタイムパスワードスキームPAMを使用して認証を実行するモジュールでSSHを構成できます。デフォルトでは、認証は通常、パスワードの入力を求めるだけの単一のチャレンジ/レスポンスサイクルでパスワード認証を実装するため、人々はこれに混乱します。"keyboard-interactive""password"認証。両方を異なる目的で意図的に使用していない場合は、エンドユーザーの混乱を避けるために、どちらかを無効にすることをお勧めします。


1
パスワード認証についてはRFC 4252を、キーボードインタラクティブについてはRFC 4256を参照してください。
pynexj

回答:


37

SSHプロトコルには多数の認証方法があります。パスワードキーボードインタラクティブは、そのうちの2つです。

パスワード認証は、単一のパスワードの単純な要求です。サーバーから送信される特定のプロンプトはありません。それは選択したプロンプト標識する方法を、そのクライアントのように、(「ホストのパスワード@ユーザーが」プロンプトは、OpenSSHからであるクライアント、のようなsshsftpなど)。

キーボードインタラクティブ認証情報の任意の数のためのより複雑な要求です。情報の各部分について、サーバーはプロンプトのラベルを送信します。さらに、サーバーは「フォーム」全体の長さの説明を提供できます。サーバーは、どの入力が秘密であるか(ユーザーが入力するときに難読化する必要がある)と、そうでない入力も指定できます。

ほとんどの場合、キーボード対話型認証は単一の「秘密の」パスワードプロンプトを要求するために使用されますが、パスワード認証にはほとんど違いはありません。

それがプロトコルの観点からの違いです。


実装の観点から、OpenSSHサーバーでは、キーボードインタラクティブ認証を2要素(または多要素)認証にフックできます。たとえば、汎用PAMメカニズムまたはKerberosによって提供されます。

クライアントの観点から見ると、もう1つの違いはローカリゼーションです。パスワード認証、クライアントはローカライズすることができ、「パスワード」、それは、サーバがパスワードを要求されて知っているので、ラベルを。でキーボードインタラクティブ認証(それはAIを採用していない限り)、それは一般的なプロンプトなので、サーバーは、単一のパスワードを単に要求している場合でも、クライアントは、プロンプトをローカライズすることはできません。


2

「パスワード」が何であるかはすでに知っています。非常に高いレベル(ブリックレベルのプロトコルではない)から、「キーボードインタラクティブ」を、RadiusやSecurIDなどを使用して2FAを使用する方法と考えてください。チャレンジとレスポンスのダイアログを提供します。ssh.comには、短い説明。さらに一歩進んで、キーボードインタラクティブがパスワードの傘になっていることを強調します。著者に敬意を表して、それは少し混乱しています。

Snail Bookの定義も参照してください。これはRSAで保護されたボックスに頻繁に使用します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.