GNU/Linux でのパスワードなし認証のための既存のメカニズムは、クライアントで ssh-keygen を作成し、クライアントの公開鍵をサーバーにコピーし、パスワードなしでクライアントからサーバーを認証できるようにするというものです。
私の質問は、
クライアント側でキー ペアを作成するのではなく、サーバーの公開キーをクライアント側に配置すると、サーバー (クライアントからパスワードなしで接続する) でキー ペアを生成できますか?
それができるとしたら、その手順は何か、誰か説明してもらえますか?
答え1
短い答え
いいえ。
長い答え
公開されている情報 (公開キー) を使って、自分が何者であるかを証明することができます。さらに、サーバーのキーは使用できません。つまり、あなたはあなたであり、サーバーはサーバーなのです。
公開鍵は、安全に全世界に知ることができます。サーバーは、要求するすべての人に公開鍵を教えます。
より長い回答
しかし、あなたがしようとしていることを分解してみると、管理を容易にしようとしていることがわかります。では、どのような選択肢がありますか?
- すべてのユーザーの公開鍵を取得してサーバーにコピーします。これらはすべて 1 つのアカウントに保存することも、複数のアカウントに保存することもできます。
- すべてのユーザーに同じ秘密鍵を付与します (これは、あなたが考えていたものかもしれません)。この方法では、サーバーは 1 つの公開鍵を持ちます。ただし、ユーザーを区別する方法はありません。すべてのユーザーに対して鍵を取り消さずに、ユーザーが鍵を紛失した場合に鍵を取り消す方法はありません。
- システム管理者にユーザーの公開キーと秘密キーを作成させます。その後、秘密キーを安全にユーザーに渡す必要があります (たとえば、ラップトップを IT サポート オフィスに持ち込み、キーをインストールします)。ユーザーがこのキーを他の目的に使用することも安全ではありません (関係のない事柄については IT サポートを信頼すべきではないため)。