認証段階
通信段階
クライアント側が、サーバが怪しいものでないかを調べる
サーバの公開鍵を検証し、手動で検証を行う
→ Are you sure you want to continue connecting (yes/no)?
ローカルのknown_hosts
ファイルにその情報を保存する。
(他にもssh-keyscan
コマンドを用いるなどの方法もある)
ローカルのknown_hosts
にある公開鍵情報からサーバの身元を確認
通信の暗号化をするための鍵を生成する。
ディフィー・ヘルマンの鍵交換を用いて、中間者攻撃に対処
サーバ側が、正しいクライアントに接続しているかを調べる
c.f. 電子署名
2. セッションキーの生成
で生成された鍵を使って暗号化通信をするssh
コマンドに-v
オプションをつけると接続の際のログを確認できる
同じ長さの鍵では、ecdsaの方が強度が高い
→ 最近はecdsaが推奨されています!
公開鍵暗号
、共通鍵暗号
、電子署名
、鍵交換アルゴリズム
公開鍵認証
を使おう!mermaid.js