sshの仕組み
- 接続元のクライアントと接続先のサーバ間に暗号化された経路を確立し、データを安全に転送するための技術
- ssh接続時にはユーザ認証とホスト認証が行われる
共通
- クライアント側で秘密鍵・公開鍵を生成する
- 公開鍵をサーバに登録する
ホスト認証:接続先サーバが意図したものかどうかの認証
- 初回接続時にサーバの公開鍵をクライアントのknown_hostsに書き込む
- クライアントからサーバにssh接続要求を行う
- known_hostsに書き込まれた公開鍵とサーバの公開鍵が一致する場合はユーザ認証に進み、しない場合は警告する
ユーザ認証:接続元がサーバに接続する資格があるかどうかの認証
4. サーバは公開鍵で暗号化した乱数を応答する
5. クライアントは乱数を復号し、ハッシュ化してサーバへ送信する
6. サーバ側でも乱数からハッシュ値を生成し、5と比較する
7. 6が一致していればssh接続が確立される