11.5. 在 web 控制台中使用 Tang 键配置自动解锁

您可以使用 Tang 服务器提供的密钥配置 LUKS 加密存储设备的自动解锁。

先决条件

步骤

  1. 在 web 浏览器中输入以下地址来打开 RHEL web 控制台:

    https://<localhost>:9090

    连接到远程系统时,将 <localhost> 部分替换为远程服务器的主机名或 IP 地址。

  2. 提供您的凭证并点击 Storage。在 Filesystems 部分中,点包含您计划添加的加密卷的磁盘来自动解锁。
  3. 在以下列出了所选磁盘的分区和驱动器详情的窗口中,点加密文件系统旁的 > 来扩展您要使用 Tang 服务器解锁的加密卷的详情,然后点 Encryption
  4. 点击 Keys 部分中的 + 来添加 Tang 密钥:

    RHEL web 控制台:encryption
  5. 选择 Tang keyserver 作为 Key source,提供 Tang 服务器的地址,以及解锁 LUKS 加密设备的密码。点击 Add 确认:

    RHEL web 控制台:添加 Tang 密钥

    以下对话框窗口提供了一个命令来验证密钥哈希是否匹配。

  6. 在 Tang 服务器上的终端中,使用 tang-show-keys 命令来显示密钥哈希以进行比较。在本例中,Tang 服务器运行在端口 7500 上:

    # tang-show-keys 7500
    fM-EwYeiTxS66X3s1UAywsGKGnxnpll8ig0KOQmr9CM
  7. 当 web 控制台中的密钥哈希与之前列出的命令的输出中的密钥哈希相同时,请点击 Trust key

    RHEL web 控制台:验证 Tang 密钥
  8. 在 RHEL 9.2 及更高版本中,选择了加密的根文件系统和 Tang 服务器后,您可以跳过向内核命令行中添加 rd.neednet=1 参数,安装 clevis-dracut 软件包,并重新生成一个初始 RAM 磁盘(initrd)。对于非 root 文件系统,web 控制台现在启用 remote-cryptsetup.targetclevis-luks-akspass.path systemd 单元,安装 clevis-systemd 软件包,并将 _netdev 参数添加到 fstabcrypttab 配置文件中。

验证

  1. 检查新添加的 Tang 密钥现在是否在 Keys 部分中列出,且类型为 Keyserver

    RHEL web 控制台:一个 keyserver 键被列出
  2. 验证绑定是否在早期引导时可用,例如:

    # lsinitrd | grep clevis
    clevis
    clevis-pin-null
    clevis-pin-sss
    clevis-pin-tang
    clevis-pin-tpm2
    lrwxrwxrwx   1 root     root           48 Feb 14 17:45 etc/systemd/system/cryptsetup.target.wants/clevis-luks-askpass.path…
    …