テクノロジーガイド

PuTTYとLinuxでSSH公開鍵認証を5ステップで設定する

2 min read サーバー管理 更新されました 30 Sep 2025
PuTTYでSSH公開鍵認証を5ステップで設定
PuTTYでSSH公開鍵認証を5ステップで設定

要点

PuTTY(Windows)とLinuxサーバでパスワードではなく公開鍵認証を使う手順を示します。公開鍵認証は秘密鍵を持つ人だけがログインできるため、安全性が高まります。この記事はPuTTY、PuTTYgen、Pageantを使う具体的な手順と、運用上の注意点・トラブルシューティングを含みます。

目的と関連フレーズ

プライマリ目的: SSH公開鍵認証をPuTTYとLinuxサーバで設定する 関連バリエーション: PuTTY 鍵認証、Linux サーバ SSH キー、公開鍵認証 設定、Pageant 秘密鍵読み込み、PuTTYgen 鍵生成

前提条件

  • Windows上でPuTTY一式を実行できること(管理者である必要は通常ない)。
  • Linuxサーバにrootまたはsudo権限でログインできること。
  • 公開鍵・秘密鍵の扱いに注意できること(秘密鍵は絶対に公開しない)。

1. PuTTYのバイナリを入手する

以下のzipにPuTTYの実行ファイルがまとまっています。ブラウザで開いてダウンロードしてください(リンクはそのまま)。

http://the.earth.li/~sgtatham/putty/latest/x86/putty.zip

注記: 公式配布元か信頼できる配布サイトから入手してください。

2. 秘密鍵と公開鍵のペアを生成する(PuTTYgen)

  1. ダウンロードしたzip内の PuTTYgen.exe を実行します。UIの「Generate(生成)」ボタンを押します。
  2. マウスを動かして乱数を供給します。鍵が生成されます。
  3. 鍵のパスフレーズ(秘密鍵を保護するパスワード)を入力します。推測されにくい文字列を使ってください。
  4. 「Save public key(公開鍵を保存)」と「Save private key(秘密鍵を保存)」でそれぞれファイルを保存します。

PuTTYの鍵生成画面のスクリーンショット

重要: 公開鍵はサーバ側に設置します。秘密鍵は安全な場所(パスフレーズを設定した上で)に保管してください。

3. Linuxサーバの設定(ユーザ作成と公開鍵の保存)

この例ではログインユーザ名を autotimesheet とします。実運用では自分のユーザ名に置き換えてください。

まずrootでシェルに入り、ユーザを作成します:

adduser autotimesheet --disabled-password

プロンプトが出たら実名などを入力できます。空のままでも構いません。

次にそのユーザに切り替え、ホームディレクトリ内に .ssh フォルダを作ります:

su autotimesheet
cd /home/autotimesheet
mkdir .ssh
chmod 700 .ssh
cd .ssh

このフォルダ内に authorized_keys2 というファイルを作り、PuTTYgenで保存した公開鍵の中身を1行で貼り付けます。重要な注意点は次の通りです。

重要:

  • 公開鍵は必ず1行で貼り付けてください(改行を入れない)。
  • 行の末尾にメールアドレスのようなコメント([email protected])を追加しないでください。元のフォーマットで十分です。
  • “BEGIN PUBLIC KEY” や “END PUBLIC KEY” のブロックは入れないでください。
  • 鍵の先頭に “ssh-rsa” などのアルゴリズム表記があることを確認してください。

例(部分):

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIBzPeFQv+295iKzuuPH0jA9449pSHVpCwXvCR9EstmYh...

保存後、権限を設定します:

chmod 600 authorized_keys2

注: 最近の多くのシステムではファイル名は authorized_keys(sなし)が一般的です。既存の環境に合わせてください。authorized_keys2 は古い慣習ですが、システム側のsshd設定に合わせてください。

4. 秘密鍵をPuTTYの認証エージェント(Pageant)に追加する

  1. Pageant.exe を起動します(PuTTY一式に含まれます)。
  2. 起動すると通知領域(タスクトレイ)にアイコンが表示されます。アイコンを右クリックし、”Add Key”(鍵を追加)を選びます。
  3. 先ほど保存した秘密鍵ファイルを選び、パスフレーズを入力します。

Pageantはパスフレーズを保持し、PuTTYからの鍵要求に自動で応答します。これにより接続時にパスフレーズを都度入力する必要がなくなります。

5. PuTTYでサーバに接続する

PuTTYを開き、接続先を autotimesheet@yourserver のようにして接続します。

PuTTYでサーバへ接続する画面のスクリーンショット

Pageant経由で認証が成功すると、パスワード入力なしでログインできます。

公開鍵エージェントから認証するPuTTYの画面

トラブルシューティング — よくある失敗例と対処

  • 鍵が1行でない、先頭のアルゴリズム表記が抜けている: authorized_keys2 の中身を確認して1行に修正する。
  • 権限が緩すぎる: ホームディレクトリや .ssh、authorized_keys(2) のパーミッションを見直す。推奨: homeは通常700/755、.sshは700、authorized_keysは600。
  • sshdの設定が公開鍵認証を許可していない: /etc/ssh/sshd_config 内の PasswordAuthentication、PubkeyAuthentication を確認し、必要ならサーバを再起動。
  • Pageantに鍵を読み込んでいない: タスクトレイアイコンで鍵が登録されているか確認。
  • 鍵の形式の不一致: PuTTY用の鍵(.ppk)とOpenSSH形式ではフォーマットが異なる。PuTTYgenで必要な形式に変換する。

代替アプローチ

  • Windows 10/11 の「OpenSSH クライアント」を使う: Windowsネイティブのsshコマンドで鍵認証を行う方法。PuTTYを使わず、OpenSSH形式の鍵を用意する。
  • WSL(Windows Subsystem for Linux)上のsshを使う: Linux互換の環境で通常のOpenSSHワークフローを利用する場合に有効。
  • 証明書ベースの認証(SSH Certificate Authority): 多数のユーザを管理する場合はCAで鍵の有効期限や発行管理を行う方が便利。

セキュリティ強化のヒント

  • パスワード認証を無効化する(sshd_config の PasswordAuthentication no)。
  • ルートログインを禁止する(PermitRootLogin no)。
  • 公開鍵の管理とローテーション方針を整える。期限切れの鍵は削除する。
  • 鍵のバックアップは慎重に。秘密鍵のバックアップは暗号化コンテナや安全なシークレット管理に保管する。

チェックリスト(役割別)

  • 管理者: サーバ側でsshd_configをチェック、必要な権限とログを確認する。
  • エンドユーザ: PuTTYgenで鍵を生成し、公開鍵だけをサーバ管理者に渡す。秘密鍵は渡さない。

ミニ手順(短い復習)

  1. PuTTYをダウンロード。2. PuTTYgenで鍵を作成。3. サーバの~/.ssh/authorized_keys(2) に公開鍵を追加。4. Pageantに秘密鍵を読み込む。5. PuTTYで接続。

用語1行定義

  • SSH: 安全なリモートログインと通信のプロトコル。
  • 公開鍵/秘密鍵: 片方を公開してサーバに置き、もう片方を秘密に保つ認証方式。
  • Pageant: PuTTYの認証エージェント。秘密鍵を保持して代理で署名する。
  • PuTTYgen: PuTTY用の鍵生成ツール。

要約

  • 公開鍵認証はパスワードより安全です。PuTTY、PuTTYgen、Pageantを使えばWindows環境でも簡単に導入できます。サーバ側の権限とsshd設定に気をつけ、鍵の取り扱いは厳重に行ってください。

重要: 秘密鍵は第三者に渡さないでください。公開鍵のみをサーバに設置します。

共有する: X/Twitter Facebook LinkedIn Telegram
著者
編集

類似の素材

Windows 10 の更新履歴を確認する方法
Windows

Windows 10 の更新履歴を確認する方法

CentOS 5.6にOpenfireを導入する手順
サーバー

CentOS 5.6にOpenfireを導入する手順

Windows Live Mailにサインインする方法と移行ガイド
メール

Windows Live Mailにサインインする方法と移行ガイド

Windows Resource Protection が実行できない時の対処法
トラブルシューティング

Windows Resource Protection が実行できない時の対処法

PuTTYでSSH公開鍵認証を5ステップで設定
サーバー管理

PuTTYでSSH公開鍵認証を5ステップで設定

SpotifyでDMを使う方法 — 楽曲を共有して会話する
音楽アプリ

SpotifyでDMを使う方法 — 楽曲を共有して会話する