第3回 Raspberry Pi 4でAlmaLinuxのcloud-initを利用

cloud-initの利用

現在Raspberry Pi用のAlmaLinuxでは、cloud-initを使って初期設定をすることができるようになっています。

具体的には、mSDなどのストレージにコピーしたAlmaLinuxのイメージのブートパーティション(現在のバージョンではラベル名がCIDATAとなっています)にあるuser-dataというファイルを編集することで、最初の起動時に初期設定を実行することができます。

現在のバージョンには、次のような内容のuser-dataファイルが存在しています。

hostname: almalinux.local
ssh_pwauth: false
users:
  - name: almalinux
    groups: [ adm, systemd-journal ]
    sudo: [ "ALL=(ALL) NOPASSWD:ALL" ]
    lock_passwd: false
    passwd: $6$EJCqLU5JAiiP5iSS$wRmPHYdotZEXa8OjfcSsJ/f1pAYTk0/OFHV1CGvcszwmk6YwwlZ/Lwg8nqjRT0SSKJIMh/3VuW5ZBz2DqYZ4c1
    ssh_authorized_keys:
      # Put here your ssh public keys
      #- ssh-ed25519 AAAAC3Nz...

ホスト名はalmalinux.localとなっています。初期ユーザーとしてalmalinuxとパスワードのalmalinuxが設定されています。また、このバージョンからはRaspberry Pi OSのようにsudoコマンドをパスワード無しで実行できるように設定されています。続けて、現在は空になっていますがssh用の公開鍵を設定することができます。

このファイルを編集することで、任意のホスト名、初期ユーザー名、初期ユーザー用のパスワード、またssh用の公開鍵などをAlmaLinuxの起動時に設定することができるようになりました。

パスワードの設定

上記の例では、SHA-512のハッシュ値を使用したパスワードとなっています。また、その際のソルトとして”EJCqLU5JAiiP5iSS”が使われています。このようなパスワードを作成するためには、いくつかの方法がありますがopensslコマンドを使う場合には、次のようにして作成することができます。

$ openssl passwd -6 -salt=EJCqLU5JAiiP5iSS almalinux

ここでは、例としてソルトの値も”EJCqLU5JAiiP5iSS”としてパスワードも”almalinux”としていますが、これらを任意の内容にすることでパスワードを作成して、前期のuser-dataファイルに設定しておくことができます。

なお、opensslコマンドのバージョンによっては上記の-6を指定したSHA-512に対応していない場合がありますから注意して下さい。

また現在のRaspberry Pi OSでは、-5としてSHA-256のハッシュ値が採用されています。

ssh用の公開鍵設定

さらに、user-datassh_authorized_keys:の値としてssh用の公開鍵を設定しておくことができます。

例えば、次のようにしてed25519の公開鍵を作成することができます。

$ ssh-keygen -t ed25519 -P ""

ここで作成されたid_ed25519.pubファイルの内容を上記user-dataファイルにコピーしておきます。

    ssh_authorized_keys:
      - ssh-ed25519 AAAA(中略)0BY6

Wi-Fiの接続設定

Wi-Fiの接続設定の場合には、user-dataの最後でnmcliコマンドを実行する内容を追加することができます。

runcmd:
  - nmcli dev wifi connect "SSID" password "パスワード" 

これで、起動時からWi-Fiに接続してインターネットを使用できるようになります。


このようにcloud-initを使用することで、AlmaLinuxをさらに便利に利用できるようになります。

無事に起動したら、インストールされているパッケージを最新の状態に更新してAlmaLinuxを使い始めることができます。

参考Configuration using cloud-init AlmaLinux公式ドキュメント

この記事をシェアする
  • URLをコピーしました!
  • URLをコピーしました!
目次