両方PreferredAuthentications=password
とPreferredAuthentications=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"
認証。両方を異なる目的で意図的に使用していない場合は、エンドユーザーの混乱を避けるために、どちらかを無効にすることをお勧めします。