過去問ドリル

LinuCレベル3 プラットフォームスペシャリスト プラットフォームの運用管理 問31

プラットフォームの運用管理/初期設定とインストールの自動化

cloud-initのuser-dataのusersで一般ユーザーopsを作成し、user-dataに記載した公開鍵をopsのauthorized_keysに登録して、鍵認証でログインできるようにしたい。usersのopsのエントリに書く設定として適切なものはどれか。

当サイトのオリジナル問題(LinuCレベル3 プラットフォームスペシャリストの出題範囲「プラットフォームの運用管理」に対応。実際の試験問題ではありません)

正解:D

解説

cloud-initのusersの各エントリでは、ssh_authorized_keysに公開鍵の文字列をリストで書くと、そのユーザーのホームディレクトリの ~/.ssh/authorized_keys に登録されます。これにより、インスタンスの初回起動直後から、対応する秘密鍵を使ってそのユーザーでログインできます。ssh_import_idは鍵そのものではなく、gh:ユーザー名 のような鍵サーバー上のIDを指定して公開鍵を取り寄せるためのキーです。トップレベルのssh_keysは、SSHサーバーのホスト鍵をあらかじめ与えるための設定で、ユーザーの鍵とは用途が異なります。

選択肢ごとの解説

  • A誤り。ssh_keysはトップレベルの設定で、rsa_private・rsa_public等のキーでSSHサーバーのホスト鍵を与えるものです。ユーザーのauthorized_keysには登録されません。
  • B誤り。ssh_import_idには、gh:ユーザー名 のようにGitHub等の鍵サーバー上のIDを指定し、そこから公開鍵を取り寄せます。公開鍵の文字列を直接書く設定ではありません。
  • C誤り。lock_passwdはパスワードによるログインを禁止するかどうか、passwdはパスワードのハッシュを設定する項目です。公開鍵は登録されません。
  • D正しい。usersのエントリのssh_authorized_keysに書いた公開鍵が、そのユーザーの ~/.ssh/authorized_keys に登録されます。
LinuCレベル3 プラットフォームスペシャリストの問題を演習モードで解く