【SSHの仕組み】を図解で簡単に解説してみる【SSHの仕組み】を図解で簡単に解説してみる2018/11/19さて今回は「SSHの仕組み」について図解で解説をして行こうと思います。SSHはAWSやローカル開発環境などを使う場合には、ほぼ必須と言っていいほど必要な技術です。なんとなくサーバに接続できたけど、「SSHってなに?」、「公開鍵ってなに?」と良くわからない事だらけだと思います。この辺の仕組みを理解して、どうやってサーバに接続しようとしているのかを叩き込んでいきましょう。最初にざっくりと仕組みを説明します。「PC側」と「サーバ側」があったとして説明します。PC側からサーバ側に接続したいとします。PC側で「秘密鍵」と「公開鍵」というものを作成します(秘密鍵は絶対に他のサーバや人に渡してはダメ)。続いて、接続したいサーバに公開鍵を送ります。PC側からSSH接続を試みます。この時に秘密鍵と公開鍵が「対」であれば、認証成功になり、接続が成功します。PC側の秘密鍵と、サーバ側に置いてある公開鍵がペアであれば接続できるってことですね。こんな感じですが、もっと詳しく見ていきましょう。耳慣れない単語が出てきましたが、これらがSSHで使用する技術です。それでは流れを解説していきましょう。SSH接続の流れSSHで接続する流れは以下です。作成する接続したいサーバに作成した「公開鍵」を置くPC側からサーバにSSH接続したいと伝えるサーバ側で「乱数」を生成するサーバ側で「乱数」と、2の「公開鍵」を使って暗号を作って、暗号をPC側に送る暗号を受けったPC側は「秘密鍵」を使って、暗号を複合して「乱数」を取り出すさらにPC側は取り出した「乱数」からハッシュ値を生成しサーバへ送るサーバ側で「乱数」からハッシュ値を生成するサーバ側は、PC側から受け取った「ハッシュ値」と、サーバ側で生成した「ハッシュ値」を比較するそして、両方のハッシュ値が一致していれば、SSH接続が完了します。