セキュリティ・認証の用語一覧へ
このページの目次

秘密鍵とは?

最終更新:2026/08/18

3秒でわかる

公開鍵と対になり、本人だけが手元に持ち続ける鍵。SSH ログインや電子署名の生成に使われ、これが漏れると本人になりすまされます。

もう少し詳しく

どういうものか

秘密鍵は公開鍵暗号方式で使う 2 つの鍵のうち、所有者だけが手元に持ち続ける方の鍵です。ペアで生成され、公開鍵で暗号化したものは対応する秘密鍵でしか復号できず、秘密鍵で署名したものは対応する公開鍵でしか検証できません。この非対称性が、事前に共通のパスワードを共有していない相手とも安全にやり取りできる根拠になっています。

なぜ必要か

パスワード認証には、通信路で盗まれる、使い回される、総当たりで破られるという弱点があります。SSH の鍵認証では秘密鍵そのものはネットワークに流れません。サーバーから送られた乱数に秘密鍵で署名し、サーバーは登録済みの公開鍵で検証するだけなので、通信を傍受されても鍵は漏れません。HTTPS のサーバー証明書も同じ原理で「このドメインの持ち主である」ことを示しています。

具体例

鍵の中身そのものは長い乱数で、ペアの片方から他方を計算で求めることが現実的な時間では不可能である、という数学的な性質に安全性が依存しています。鍵長が短い古い方式(1024 ビットの RSA など)が非推奨になるのは、計算機の性能向上でこの前提が崩れてきたためです。現在は Ed25519 か 3072 ビット以上の RSA が選ばれます。

ssh-keygen -t ed25519 -C "me@example.com" ls -l ~/.ssh # id_ed25519 これが秘密鍵。外に出さない # id_ed25519.pub これが公開鍵。サーバーに登録する ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server chmod 600 ~/.ssh/id_ed25519

つまずきやすいところ

  • パーミッションが緩いと OpenSSH が読み込みを拒否する。600(所有者のみ読み書き)にする

  • .pub の付かない方を GitHub や Deploy 先に貼ってしまう事故が起きる。登録するのは必ず .pub の中身

  • 秘密鍵をリポジトリにコミットしてしまうと、あとから削除しても履歴に残る。鍵を作り直して差し替えるしかない

  • パスフレーズを付けずに作ると、端末を盗まれた時点で全サーバーに入られる
  • 似た用語との違い

    用語持ち主役割
    秘密鍵本人のみ復号と署名の生成
    公開鍵誰でも可暗号化と署名の検証
    共通鍵通信する両者同じ鍵で暗号化と復号


    覚え方

    鍵ペアは用途ごとに分けるのが基本です。個人の開発端末用、CI 用、本番デプロイ用を同じ鍵で兼ねると、CI の設定ファイルが漏れただけで本番サーバーまで開いてしまいます。用途ごとに分けておけば、疑わしい 1 本を無効化するだけで被害を止められます。

    実印と印鑑証明の関係に近いです。実印(秘密鍵)は金庫にしまい、印鑑証明(公開鍵)は相手に渡して照合してもらいます。

    知識のつながり

    サイドバーと同じ推奨ルート・関連語を、まとめて確認できます。

    現在地秘密鍵セキュリティ

    LEARN BY DOING

    この用語を、教材で使ってみる

    直接関連する編と、その編を含むコースです。用語だけで終わらず、ブラウザ上で実際に手を動かせます。

    この用語を扱うコース

    コース

    Linux入門:コマンド操作のきほん

    68レッスン
    コース

    サーバー構築入門 nginx・systemd・デプロイ

    51レッスン
    コース

    LinuC レベル1(LPIC-1対応)対策

    62レッスン
    Linuxコースの全編を見る