質問: ssh暗号化はどのように機能しますか? クライアントホストで2つのキー(プライベートとパブリック)を生成し、パブリックキーをサーバーホストにコピーする方法を読みました。私が理解しているように(間違っている場合は訂正してください):サーバーは公開鍵でデータを暗号化してクライアントに送信し、クライアントは秘密鍵でデータを復号化します。しかし、サーバーに送信するためにクライアント上のデータを暗号化する必要がある場合、どのように行われますか?公開鍵はクライアントのデータを暗号化しますか?しかし、公開鍵しか持っていない場合、サーバーはそれをどのように復号化できますか?ssh暗号化はどのように機能しますか?
回答: 最初に理解しておく必要があると思うのは、sshやsslなどの多くの暗号化プロトコルは認証にpkiを使用しますが、これらのシステムは実際にペイロードを送信するのにpkiを使用しないということです。pkiはcpuに負荷がかかりすぎて、実際のペイロードデータの送信に使用できません。 pkiはランダムに生成された鍵のネゴシエーションに使用され、対称暗号化プロトコルで使用されます。使用されるプロトコルもネゴシエートされ、2つのシステムが合意できる最も強力なプロトコルである必要があります。したがって、最初のハンドシェイクとネゴシエーションが完了すると、ほとんどすべてが単なる標準的な対称暗号化になります。