升级Ubuntu 23.10到24.04后Mandos客户端无法启动自动解密的调试求助
兄弟,升级Ubuntu后Mandos自动解密挂了,还没法接屏幕调试确实头疼,我给你几个远程就能操作的排查方向,一步步来:
先确认Mandos包的安装与路径变化
新版Ubuntu可能调整了Mandos的文件路径,先检查包状态:dpkg -l | grep mandos看看
mandos-client、mandos-client-core这些核心包是不是都正常安装。然后去/usr/lib/mandos/目录看看,新版可能把客户端二进制移到这里了,比如找cryptsetup-mandos这个脚本——这是现在Mandos用来处理解密的主要文件,旧版的mandos-client二进制可能已经被替换了。修复/etc/crypttab的keyscript配置
你说crypttab里没有keyscript,这肯定是问题所在!Mandos必须靠这个指定解密脚本:- 先备份配置:
cp /etc/crypttab /etc/crypttab.bak - 编辑crypttab,给你的加密分区加上keyscript参数,格式大概是:
比如你的根分区加密设备是<加密设备UUID或路径> <映射名> none luks,keyscript=/usr/lib/mandos/cryptsetup-mandosUUID=xxxxxx,映射名是cryptroot,那一行就改成:UUID=xxxxxx cryptroot none luks,keyscript=/usr/lib/mandos/cryptsetup-mandos - 重新生成initramfs让配置生效:
update-initramfs -u -k all
- 先备份配置:
验证GPG密钥的有效性与权限
虽然密钥在/etc/keys/mandos,但可能权限不对或者升级后密钥状态异常:# 列出密钥,确认能正常读取 gpg --homedir /etc/keys/mandos --list-secret-keys # 检查权限,必须是root专属,权限不能太开放 ls -ld /etc/keys/mandos && ls -l /etc/keys/mandos如果密钥读取失败,试试从Mandos服务器重新导出密钥,再导入客户端:
gpg --homedir /etc/keys/mandos --import <你的密钥文件路径>查看系统日志找细节
远程调试日志是关键,看看Mandos相关的启动报错:# 查看Mandos客户端服务日志 journalctl -u mandos-client.service # 或者全局搜索mandos相关日志 journalctl | grep -i mandos这里可能会看到网络连接失败、密钥验证错误之类的具体信息,比启动时的
gpg: No Secret Key更详细。检查initramfs的网络支持
Mandos需要在启动阶段联网,升级后可能initramfs里的网络模块丢了:# 检查当前initramfs里的网络相关文件 lsinitramfs /boot/initrd.img-$(uname -r) | grep -E "(net|dhclient)"如果看不到相关内容,安装
initramfs-tools-network包后重新生成initramfs:apt install initramfs-tools-network update-initramfs -u -k all
先按这个思路来,每一步都是远程能操作的,不用接屏幕。如果某一步出现具体错误,再针对性排查就行。
备注:内容来源于stack exchange,提问作者MelBourbon

