ssh 公開鍵方式認証の仕組み

公開鍵 秘密鍵 認証の仕組みです。

公開鍵 -> 暗号化専用の鍵。秘密鍵から作られる
秘密鍵 ->復号化専門の鍵

↑2個でセット

共通鍵→お互い同じものを使って暗号化復号化するための鍵

↑セッションごとに違う。

秘密鍵はクライアントで作成
そのとき同時にできる公開鍵を
サーバの~/.ssh/authorized_keys に追加

〜〜〜 まずは 鍵交換 〜〜〜 (前回の記事参照)
これ以降のやり取りは共通鍵で暗号化される

サーバ「とりあえずお前がくれた(~/.ssh/authorized_keys に追加した)公開鍵で暗号化した質問送るから秘密鍵持ってるなら復号化してみ」

(秘密鍵作成時にパスフレーズ指定してなければ以下2行はなし)
クライアント「おっけー、ええと確か、秘密鍵にはパスフレーズ指定したよな・・・」

クライアント「パスフレーズを入力してっと秘密鍵を手に入れた!」(このときサーバはパスフレーズに関与できない、ネットワーク上にも流れない)
クライアント「質問を秘密鍵で復号化して、サーバに教えるよー」
サーバ「あ、うん、読めてるじゃん、じゃあログインしていいよー」
クライアント「うぃっすー」

以降共通鍵で暗号化されて通信しましたとさ。