1.10.3基礎
SSH秘密鍵~/.ssh/id_ed25519を所有者だけが読み書きできる状態にする。
秘密鍵の内容は変更しない。
適切なコマンドはどれか。
× 不正解
秘密鍵は所有者だけが読み書きできる0600程度にし、他ユーザーから読めないようにする。
詳細解説
誤り
chmod 644 ~/.ssh/id_ed25519groupとotherにも読み取りを許可するため、秘密鍵には広すぎる。
644では他ユーザーが秘密鍵を読める。
誤り
chmod 755 ~/.ssh/id_ed25519全員に読み取りと実行を許可するため不適切である。
755は実行権も含み、秘密鍵を広く公開する。
正しい
chmod 600 ~/.ssh/id_ed25519所有者のread/writeだけを許可する。
600が所有者だけのread/writeで要件に合う。
誤り
chmod 400 ~/.ssh/id_ed25519.pub公開鍵を対象にしており、秘密鍵の権限を変えていない。
公開鍵を対象にして秘密鍵の保護になっていない。
実際に確かめる
一時的な検証環境で実行できる例です。
tmp=$(mktemp -d); printf 'private' > "$tmp/id_ed25519"; chmod 600 "$tmp/id_ed25519"; stat -c '%a' "$tmp/id_ed25519"; rm -rf "$tmp"期待される結果
600理解のポイント
- 秘密鍵
- chmod 600
- 公開鍵とは別
確認時の注意
- 確認環境: GNU coreutils / 一時ディレクトリ
基礎のおさらい
鍵の分離
公開鍵は配布しても秘密鍵は配布しない。
権限
SSHクライアントは秘密鍵の権限が広いと拒否する場合がある。
問題IDKL-102-1150
確認環境GNU coreutils / 一時ディレクトリ
最終技術確認2026-08-20
誤り・権利侵害を報告