初始 Ubuntu Server 22.04.2 LTS 安装 - LUKS - 无头/远程解密

初始 Ubuntu Server 22.04.2 LTS 安装 - LUKS - 无头/远程解密

首次在 Beelink Mini PC (SEi12) 上安装 Ubuntu Server 22.04.2 LTS。尽可能采用最标准的安装。使用引导式存储布局进行配置;即

  • 使用整个磁盘
  • 将此磁盘设置为 LVM 组
  • 使用 LUKS 加密 LVM 组

安装后,我将 Mini PC 移到地下室,因为我想让它以无头模式运行。我遇到的第一个问题是想知道为什么安装后我的 DHCP 没有分配 IP,然后意识到,呃,我需要解密。开始在谷歌上搜索远程解密的最佳方法,dropbear SSH,偶然发现了 systemd-cryptenroll,注意到 Yubikey 支持。然而,尽管我进行了所有的谷歌和 ChatGPT 搜索;我似乎无法弄清楚如何正确配置它以进行 Yubikey 解密。

NAME                        MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINTS
loop0                         7:0    0  63.3M  1 loop  /snap/core20/1822
loop1                         7:1    0 111.9M  1 loop  /snap/lxd/24322
loop2                         7:2    0  49.8M  1 loop  /snap/snapd/18357
nvme0n1                     259:0    0 465.8G  0 disk
├─nvme0n1p1                 259:1    0     1G  0 part  /boot/efi
├─nvme0n1p2                 259:2    0     2G  0 part  /boot
└─nvme0n1p3                 259:3    0 462.7G  0 part
  └─dm_crypt-0              253:0    0 462.7G  0 crypt
    └─ubuntu--vg-ubuntu--lv 253:1    0   100G  0 lvm   /

在启动时,它特别要求我输入密码来解密 dm_crypt-0,但是当使用 cryptenroll /dev/nvme0n1p3 是唯一有效的 /dev 时,我无法定位 dm_crypt-0

我一直在关注这个:https://www.freedesktop.org/software/systemd/man/crypttab.html具体来说:

Example 3. FIDO2 Volume Unlocking Example

The FIDO2 logic allows using any compatible FIDO2 security token that implements the "hmac-secret" extension for unlocking an encrypted volume. Here's an example how to set up a FIDO2 security token for this purpose for a LUKS2 volume, using systemd-cryptenroll(1):

# SPDX-License-Identifier: MIT-0

# Enroll the security token in the LUKS2 volume. Replace /dev/sdXn by the
# partition to use (e.g. /dev/sda1).
sudo systemd-cryptenroll --fido2-device=auto /dev/nvme0n1p3

# Test: Let's run systemd-cryptsetup to test if this worked.
sudo /usr/lib/systemd/systemd-cryptsetup attach mytest /dev/nvme0n1p3 - fido2-device=auto

# If that worked, let's now add the same line persistently to /etc/crypttab,
# for the future.
sudo bash -c 'echo "mytest /dev/nvme0n1p3 - fido2-device=auto" >>/etc/crypttab'
sudo systemd-cryptenroll --fido2-device=auto /dev/nvme0n1p3

相关内容