この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:4
ページ更新者:atom
更新日時:2026-05-13 04:20:35

タイトル: SSH2秘密鍵の読み込みに失敗しました
SEOタイトル: SSH2 秘密鍵の読み込みに失敗しました の原因と対処

この記事の要点
  • SSH2 秘密鍵の読み込みに失敗エラー (WinSCP / Tera Term 等)
  • 最頻出原因: パスフレーズの入力ミス(大文字小文字・IME・CapsLock)
  • 次に多い: 鍵フォーマット不一致。WinSCP/PuTTY は .ppk、OpenSSH は id_rsa 形式 → PuTTYgen で変換
  • 鍵ファイルの破損(改行コード変化)・ファイル権限不足・日本語パスも要因になりうる

 

エラー内容

SSH2秘密鍵の読み込みに失敗しました

WinSCP・Tera Term などの日本語化されたSSHクライアントで、秘密鍵ファイルを指定して接続しようとした際に表示されるエラーです。鍵自体が読み込めない/フォーマットが合わない/パスフレーズが違う、のいずれかが原因です。

発生条件と原因

  • パスフレーズの誤り — 鍵生成時に設定したパスフレーズと違う文字列を入力している(最頻出)
  • 鍵フォーマットの不一致 — WinSCP/PuTTYは .ppk 形式を要求するが、OpenSSH形式の id_rsa を直接指定している
  • 鍵ファイル自体が壊れている — 改行コードが書き換わった、ファイル末尾が欠落しているなど
  • 権限の問題 — 鍵ファイルが他ユーザー所有や読み取り権限不足で開けない
  • パスに日本語や空白が含まれる — 一部のクライアントで鍵ファイルのパスに日本語があると読み込みに失敗する

対処法

1. パスフレーズを再確認

まずは入力したパスフレーズが正しいかを確認します。大文字/小文字、半角/全角、不要な空白が混入していないかをチェックします。CapsLockとIMEは特に注意。

2. 鍵フォーマットを確認・変換する

WinSCPやPuTTYは .ppk 形式の鍵を扱います。OpenSSH形式の鍵を持っている場合は PuTTYgen で変換します。

PuTTYgen → Load → 既存のid_rsaを選択 → Save private key → .ppkで保存

逆に、Linux側に持ち込むなら OpenSSH形式に変換します。

$ ssh-keygen -p -m PEM -f id_rsa

3. 鍵ファイルが壊れていないか確認

テキストエディタで開き、-----BEGIN ... PRIVATE KEY----- から -----END ... PRIVATE KEY----- までが揃っているか、改行コードが正しいかを確認します。Windowsでメモ帳を使うと改行コードが書き換わるため、可能なら VSCode などで開きます。

4. ファイル権限の確認(Linux/Mac)

$ chmod 600 ~/.ssh/id_rsa

OpenSSHでは秘密鍵が他ユーザーから読める権限になっていると拒否されます。

5. パスから日本語や空白を除く

鍵ファイルを C:\keys\id_rsa.ppk のような英数字のみのパスに配置し直すと解消することがあります。

注意点

  • 鍵を再生成する前に、サーバー側の ~/.ssh/authorized_keys に対応する公開鍵が登録されているかを必ず確認する
  • パスフレーズを忘れた場合、秘密鍵そのものから復旧する手段はない。鍵を作り直してサーバーの authorized_keys を更新する
  • サーバー側のSSHログ (/var/log/auth.log/var/log/secure) を見れば、拒否理由が確認できる場合がある