NixOS 下用 kexec 实现免口令重启:全盘加密与便利兼得
来源:bevuta.com — 2026-08-17
📋 概述
全盘加密让服务器重启时必须人工输入 LUKS 口令,既费时又易因中断导致启动卡死。bevuta 团队用 Linux 的 kexec 机制实现了免干预重启:旧内核把一次性口令放进内存与自定义 initrd,新内核直接解密并立刻清除该密钥槽。方案在保留全盘加密安全性的同时,把重启缩短到约两分钟,且不依赖另一台机器做分布式协调。
🔑 核心要点
- kexec 让新内核直接替换旧内核,跳过固件与引导加载器,省去数分钟重启时间。
- 为 LUKS 新增一个 一次性口令密钥槽,重启成功后立刻用 luksKillSlot 删除,防泄露。
- 口令不写进命令行,而是嵌入重启前临时生成的 initrd,避免任何可被读取的明文环节。
- 通过自定义 systemd 单元在根文件系统挂载后立即清除密钥槽,全程无人值守。
- 最终一条 systemctl start kexec.target 即可完成约 2 分钟的全自动重启。
💡 金句
我们拒绝接受「鱼与熊掌不可兼得」的说法:全盘加密的安全、重启的便利与可靠,我们全都要。
👍 0
👎 0
← 返回 Lobsters 首页