ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|---|
|
エラーの状況
# Tera Term / PuTTY 等で
SSH2 秘密鍵の読み込みに失敗しました。
# OpenSSH コマンドラインから
$ ssh -i ~/.ssh/id_rsa user@server
Load key "/home/user/.ssh/id_rsa": bad permissions
Permissions 0644 for ".ssh/id_rsa" are too open.
# または
Load key "/home/user/.ssh/id_rsa": Permission denied
原因と対処
原因 1: ファイル権限が緩い
# 秘密鍵は所有者のみ読み取り可能でなければならない
$ ls -l ~/.ssh/id_rsa
-rw-r--r-- 1 user user 1675 May 15 12:00 id_rsa
# ↑ others が読める → 拒否される
# 修正
$ chmod 400 ~/.ssh/id_rsa
$ ls -l ~/.ssh/id_rsa
-r-------- 1 user user 1675 May 15 12:00 id_rsa
# .ssh ディレクトリ自体も
$ chmod 700 ~/.ssh
# Windows
> icacls C:\Users\user\.ssh\id_rsa /inheritance:r
> icacls C:\Users\user\.ssh\id_rsa /grant:r "%USERNAME%:F"
> icacls C:\Users\user\.ssh\id_rsa /remove "BUILTIN\Users"
原因 2: OpenSSH 形式と旧形式の不整合
OpenSSH 7.8+ は新形式(BEGIN OPENSSH PRIVATE KEY)で鍵生成しますが、古い PuTTY (0.74 以前) / Tera Term / WinSCP では非対応:
# 形式確認
$ head -1 ~/.ssh/id_rsa
-----BEGIN OPENSSH PRIVATE KEY----- ← 新形式 (古いツール非対応)
-----BEGIN RSA PRIVATE KEY----- ← 旧 PEM 形式 (互換)
# 新形式を旧形式(PEM)に変換
$ ssh-keygen -p -m PEM -f ~/.ssh/id_rsa
Enter old passphrase: ****
Key has comment ...
Enter new passphrase (empty for no passphrase): ****
Enter same passphrase again: ****
Your identification has been saved with the new passphrase.
# 確認
$ head -1 ~/.ssh/id_rsa
-----BEGIN RSA PRIVATE KEY----- ← 旧形式に変換完了
原因 3: PuTTY 形式 (.ppk) と OpenSSH 形式の混同
PuTTY は .ppk 形式、OpenSSH は id_rsa 形式。相互変換が必要:
# OpenSSH → PuTTY (.ppk)
# Windows: PuTTYgen を使用
# Tera Term は OpenSSH 形式を直接使える
# Linux: puttygen コマンド
$ sudo apt install putty-tools
$ puttygen ~/.ssh/id_rsa -O private -o ~/.ssh/id_rsa.ppk
# PuTTY → OpenSSH
$ puttygen id_rsa.ppk -O private-openssh -o ~/.ssh/id_rsa
原因 4: パスフレーズ間違い
# パスフレーズが正しいか確認
$ ssh-keygen -p -f ~/.ssh/id_rsa
Enter old passphrase: (入力)
# パスフレーズが間違っていれば「passphrase is incorrect」
# パスフレーズなしに変更
$ ssh-keygen -p -f ~/.ssh/id_rsa
Enter old passphrase: **** (現在のパスフレーズ)
Enter new passphrase (empty for no passphrase): (空でEnter)
Enter same passphrase again: (空でEnter)
# パスフレーズリセット (鍵自体は同じ、暗号化のみ変更)
原因 5: 鍵ファイルが破損
# サイズ確認
$ ls -l ~/.ssh/id_rsa
# 普通は 1.6KB - 3.4KB 程度
# 内容確認
$ head ~/.ssh/id_rsa
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAACmFlczI1Ni1jdHIAAAAGYmNyeXB0AAAAGAAAABDx...
# 改行コードが Windows (CRLF) になっている場合は LF に変換
$ dos2unix ~/.ssh/id_rsa
新しい鍵ペアを生成(推奨)
# Ed25519 (推奨、最新)
$ ssh-keygen -t ed25519 -C "your@email.com"
# RSA 4096 bit (互換性重視)
$ ssh-keygen -t rsa -b 4096 -C "your@email.com"
# 出力ファイル名指定
$ ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519_work
# パスフレーズなし (自動化用、推奨されない)
$ ssh-keygen -t ed25519 -N ""
# 公開鍵をサーバにコピー
$ ssh-copy-id user@server
# または手動
$ cat ~/.ssh/id_ed25519.pub | ssh user@server "cat >> ~/.ssh/authorized_keys"
各 SSH クライアントでの鍵設定
Tera Term
- 「設定」 → 「SSH 認証」
- 「RSA / DSA / ECDSA / ED25519 鍵を使う」を選択
- 「秘密鍵」で
id_rsaファイル指定 - パスフレーズ入力
PuTTY
- セッション設定 → 「Connection」 → 「SSH」 → 「Auth」
- 「Private key file for authentication」で
.ppk指定 - パスフレーズはセッション開始時に入力
OpenSSH (Linux/Mac)
# コマンドラインで
$ ssh -i ~/.ssh/id_rsa user@server
# config ファイルに登録 (~/.ssh/config)
Host myserver
HostName 192.168.1.100
User myuser
IdentityFile ~/.ssh/id_rsa
Port 22
# 接続
$ ssh myserver
VSCode Remote SSH
# settings.json
{
"remote.SSH.configFile": "~/.ssh/config"
}
# .ssh/config に Host を定義してから VSCode で接続
SSH エージェント活用
# Linux/Mac
$ eval "$(ssh-agent -s)"
$ ssh-add ~/.ssh/id_rsa
Enter passphrase: ****
# → 以後そのターミナルではパスフレーズ入力不要
# ~/.bashrc で自動起動
if [ -z "$SSH_AUTH_SOCK" ]; then
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa 2>/dev/null
fi
# Windows OpenSSH (Win10+)
Start-Service ssh-agent
ssh-add ~/.ssh/id_rsa
関連エラー
Permission denied (publickey): 公開鍵がサーバの authorized_keys にないHost key verification failed: known_hosts のエントリ不一致Connection refused: SSH サーバが起動していない / ファイアウォールBad owner or permissions on .ssh/config: .ssh/config の権限 (chmod 600)
関連記事
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
子ページはありません
同階層のページ
- SSH2秘密鍵の読み込みに失敗しました
- 認証に失敗しました。再試行してください。
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Laravel キャッシュクリア完全ガイド(cache:clear / config:clear / 2026-05-18 07:42:07
- プロジェクトの作成と削除 2026-05-18 07:42:07
- インストール直後にNetbeansが反応しない 2026-05-18 07:42:07
- 動画やチャンネルの検索 2026-05-18 07:42:07
- APIキー取得方法 2026-05-18 07:42:07
- チャンネル情報の取得 2026-05-18 07:42:07
- API 入門 — Web API(REST / GraphQL / gRPC / 2026-05-18 07:42:07
- インストール(eclipseプラグイン) 2026-05-18 07:42:07
- Laravel「Dotenv values containing spaces must be surrounded 2026-05-18 07:42:07
- エラー一覧 2026-05-18 07:42:07
- curl: (51) SSL: certificate subject name '~' does not match 2026-05-18 07:42:07
- インストール方法(Windows版) 2026-05-18 07:42:07
- JSONから配列に変換 2026-05-18 07:42:07
- 処理を一定時間待つ 2026-05-18 07:42:07
- A non well formed numeric value encountered 2026-05-18 07:42:07
コメントを削除してもよろしいでしょうか?