3

Erlangでsshpublic_keyアプリケーションをいじっていて、いい機能を発見しました。

実行中の Erlang SSH デーモンにrsa キーを使用して接続しようとしましたが、認証に失敗し、パスワードの入力を求められました。

いくつかのデバッグとトレース (および数回のコーヒー) の後、何らかの奇妙な理由で、ユーザーの無効なキーがそこにあることに気付きました。authorized_keysファイルには2 つのキーが含まれていました。間違ったものはファイルのどこかにありましたが、正しいものはファイルの最後に追加されました。

現在、Erlang SSH アプリケーションは、提供されたキーと、authorized_keys に含まれているキーを比較するときに、最初のエントリを見つけていました (2 番目のキーは完全に無視されます - 正しいキー)。次に、別の認証メカニズムに切り替えていました (最初はrsaではなくdsaを試行し、次にパスワードの入力を求めていました)。

問題は次のとおりです。この動作は意図されたものですか、それとも SSH サーバーは、 authorized_keysファイル内の同じユーザーの複数のエントリをチェックする必要がありますか? これは一般的な SSH の動作ですか、それとも Erlang の実装に固有のものですか?

4

1 に答える 1

3

はい、それは「最初の失敗」認証であり、あなたの問題に何度か遭遇しました。実装に関する限り、悪魔は一致するログインを探してauthorized_keysファイルを繰り返し、次にキーをチェックしたと説明されました。

これは標準実装のようですが、

于 2010-03-15T01:50:34.443 に答える