回答:
サーバーには、ユーザーとして生成するキーペアとは完全に分離された秘密キーと公開キーがあることに注意してください。通常、サーバーの秘密キーはサーバー構成とともに保存され、公開キーは接続しようとしたときにサーバーによって送信されます。クライアントは、サーバーの公開鍵をknown_hostsファイルと比較します。適切に使用すると、MITM攻撃を防ぐことができます。
個人アカウントの秘密鍵を持っています。サーバーは、使用しようとしているアカウントの秘密鍵が許可されていることを確認できるように、公開鍵が必要です。
あなたの例を使用して。ボブとアリスの両方が秘密鍵と公開鍵を持っています。事前にまたは接続の一部として共有された公開鍵は、秘密鍵によって暗号化されたデータが正当であることを検証するために使用されます。クライアントに公開鍵がない場合、または別の公開鍵がある場合、恐ろしい警告が表示されます。サーバーにクライアントの公開鍵がない場合は、許可されません。
便宜上、公開鍵を保持します。それ以外の場合は、SSL CAに似たPKIを作成する必要があります。
アイデアは、sshクライアントがリモートサーバーキーを受け入れるように求めたときに公開キーのフィンガープリントをチェックすることです。