カラクリスタ

「輝かしい青春」なんて失かった人のブログ

Archlinux の rootfs encryption をリモートから unlock する

とりあえず、試行錯誤した末に出来たのでメモ。

今回の作業の概要

[Archlinux on Mac mini late 2012 with rootfs encryption]

と言う環境で、

ssh 経由で roorfs encryption の unlock が出来る

というのを作った。

下準備

とりあえず今回は Wi-Fi から繋げたかったので、

  • Archlinux on Mac mini late 2012 with rootfs encryption

から Wi-Fi 接続出来る様に、下記のパッケージを導入した:

  • wpa_supplicant - pacman から
  • b43-firmware - yaourt から

まあ後は Arclinux で Wi-Fi 使う要領で作業すれば良い。 あと、基本的に Mac mini に Archlinux を入れるには、

  • USB 接続の Keyboard
  • Ehternet 接続できるネットワーク

辺りがないと、ドライバとかの加減で pacstrap 出来ねぇとかなるので、その辺りは用意しておいた方が良い。

ちなみに僕は、押し入れなどで眠っていた、

  • PS/2 Keyobard + PS/2 <=> USB のケーブル
  • 古い Ehternet Converter の子機

を使いました。

rootfs encryption の remote unlock over Wi-Fi

これがまあ面倒だったんだけど、基本的には、

Remote unlocking of the root (or other) partition

をアレンジして、下記の様になった:

  1. パッケージの追加

  2. mkinitcpio-nfs-utils (pacman)

  3. mkinitcpio-dropbear (yaourt)
  4. mkinitcpio-utils (yaourt)

  5. ssh 鍵の追加

  6. 今回だと /etc/dropbear/root_keyssh 公開鍵を登録する

  7. mkinitcpio 用に wifi フックの追加

  8. これは Remote unlock via wifi (hooks: build your own) を参照

  9. /etc/mkinitcpio.conf の編集と initramfs の rebuid MODULESMac mini late 2012 用の Wi-Fi ドライバを追加

  10. (環境固有) b43, bcma

  11. FILES に 上記ドライバが動作するためのファームウェアを追加 (環境固有) /lib/firmware/b43/ht0bsinitvals29.fw
  12. /lib/firmware/b43/ht0initvals29.fw
  13. /lib/firmware/b43/ucode29_mimo.fw
  14. BINARIESwpa_passphrasewpa_supplicant を追加 (共通)
  15. HOOKS を 編集 encryptwifi net dropbear encryptssh
  16. あとは mkinitcpio -p linux で initramfs を rebuild

  17. Bootloader の kernel parameter の編集 これは各ネットワーク環境に合せて ip= を追加する

  18. 僕の場合だと: ip=::192.168.2.1:255.255.255.0::wlan0:dhcp

  19. ちなみに、これに指定するパラメーターは nfsroot (kernel.org) を参照

以上

それで、ここまでで設定とかミスってなければ、

を起動した際に ssh が立ち上がって、リモート経由で rootfs unlock 出来る様になる……はず。なんかミスってたら、各自設定とか見直してください。ちなみに僕は wifi フックを作るときに SSID の書き方をミスっていて、これで数時間ぐらいは詰ってました。

あと、今回のこれは initramfs とかを弄るため、 なにかミスってて起動しなくなる と言うコトが良く起きます。そのため、USB Stick 等で Archiso を起動できる Recovery 環境が無いとつらいかもです。はい。


という事で今回のメモは以上。まあ転んでも泣かないヒト向けのメモでした。

やり方 #使い方 #まとめ #Linux #Archlinux - #2017-03 #2017-03-06