はじめに
「公開鍵は誰でも知っていい」と言われているで、
SSL/TLSではクライアント側持っているのはわかるのですが、
SSHではサーバー側にしか置かないのでモヤっとしました。
この記事では、このモヤっとを初心者向けにシンプルに整理します。
結論(先に)
公開鍵はどちらも「公開してOK」です。
ただし、
“何を証明したいか”が違うだけです。
まずは超ざっくり理解
■ SSH
「あなたは本人ですか?」を確認する仕組み
■ SSL/TLS
「このサーバーは本物ですか?」を確認する仕組み
SSHの仕組み(ログイン)
SSHは「ログイン認証」です。
役割
- あなた(クライアント):秘密鍵を持つ
- サーバー:公開鍵を持つ
流れ
- 自分がサーバーにアクセスする
- 秘密鍵で「自分は本人です」と証明
- サーバーが公開鍵で確認
👉 OKならログイン成功
SSL/TLSの仕組み(Web通信)
SSLは「サーバーの正しさ」を確認します。
役割
- サーバー:公開鍵(証明書)を持つ
- ブラウザ:それを検証する
流れ
- サーバーが公開鍵を提示
- ブラウザが「本物か?」をチェック
- OKなら安全な通信スタート
なぜ混乱するのか
ここが一番大事です。
"公開鍵=どこでも使われると思ってしまう"
でも実際はこうです:
| 項目 | SSH | SSL |
|---|---|---|
| 目的 | ユーザー認証 | サーバー認証 |
| 公開鍵の置き場所 | サーバーに登録 | 世界に公開 |
| 確認するもの | あなたが本人か | サーバーが本物か |
ポイントまとめ
- 公開鍵はどちらも「公開してOK」
- ただし用途が違う
- SSHは「あなたの証明」
- SSLは「サーバーの証明」
👉 だから配置や見え方が違う
おわりに
最初は「矛盾してるのでは?」と思いましたが、
仕組みではなく“目的”が違うだけ
と理解するとスッキリしました。
同じように混乱した人の参考になれば嬉しいです。

