過去問ドリル

LinuCレベル1 セキュリティ 問35

セキュリティ/暗号化によるデータの保護

既存のSSH秘密鍵 ~/.ssh/id_ed25519 について、鍵ペア自体は作り直さずに、秘密鍵を保護しているパスフレーズだけを変更したい。コマンドとして適切なものはどれか。

当サイトのオリジナル問題(LinuCレベル1の出題範囲「セキュリティ」に対応。実際の試験問題ではありません)

正解:D

解説

ssh-keygen -p は、新しい鍵を生成する代わりに、既存の秘密鍵ファイルのパスフレーズを変更するオプションです。現在のパスフレーズと新しいパスフレーズを入力すると、同じ鍵のまま暗号化だけがやり直されるため、サーバー側の authorized_keys に登録した公開鍵を更新する必要はありません。-f で対象の鍵ファイルを指定しない場合は、対話的にファイル名を尋ねられます。新しいパスフレーズを空にすると、秘密鍵が暗号化されずに保存される点に注意が必要です。

選択肢ごとの解説

  • A誤り。-l は鍵のフィンガープリント(指紋)とビット数を表示するオプションで、パスフレーズは変わりません。
  • B誤り。-y は秘密鍵から対応する公開鍵を読み出して表示するオプションで、パスフレーズは変わりません。
  • C誤り。ssh-add は秘密鍵をssh-agentへ登録するコマンドで、鍵ファイルのパスフレーズは変更しません。
  • D正しい。ssh-keygen -p で、鍵ペアはそのままにパスフレーズだけを変更できます。
LinuCレベル1の問題を演習モードで解く