🐙
Ubuntu 22.04でTPM2.0を使ってluksを自動復号化をする
はじめに
luks上にインストールしたubuntu22.04を、起動時にパスワードを打つ代わりにTPMを使って復号化する方法を調べてみました。
前提条件
- luksを使ってubuntu 22.04をインストール済みの環境
手順
パッケージのインストール
sudo apt update
sudo apt install clevis-tpm2 clevis-luks clevis-initramfs -y
luks暗号化ボリュームを特定する
次の場合では、/dev/nvme1n1p2
# lsblk
nvme1n1 259:0 0 465.8G 0 disk
├─nvme1n1p1 259:1 0 1000M 0 part /boot
├─nvme1n1p2 259:2 0 463.8G 0 part
│ └─luks-d1bbf244-6e32-42f6-9ecb-6ebe4a960961 253:0 0 463.8G 0 crypt /run/timeshift/backup
│ /var/lib/docker/btrfs
│ /home
│ /var/snap/firefox/common/host-hunspell
│ /
└─nvme1n1p3 259:3 0 1000M 0 part
clevis luks bindを使用してTPM2デバイスにバインドする
# clevis luks bind -d /dev/nvme1n1p2 tpm2 '{"hash":"sha256","key":"rsa"}'
検証
# clevis luks list -d /dev/sda2
1: tpm2 '{"hash":"sha256","key":"rsa"}'
initramfsを更新する
# update-initramfs -u
Discussion