我的根分区使用 LUKS 加密,因此每次启动时都会提示我输入密码,我已经安装了 dropbear-initramfs,以便我可以通过 SSH 接入并使用“cryptroot-unlock”直接提供密码,但我想真正实现这一自动化。
我在网络上有另一个完全加密的设备,所以我只是要创建一个寻找 dropbear 服务器的服务,如果找到它,就通过 SSH 进入并提供密码,我只是在将密码传递给 cryptroot-unlock 时遇到了麻烦。
到目前为止我已经尝试过:
ssh <server> "cryptroot-unlock <password>"
ssh <server> "echo <password> | cryptroot-unlock"
两者都回应:
cryptsetup: cryptsetup failed, bad password or options?
值得注意的是,我的密码没有任何引号或其他需要转义的特殊字符。
有人知道一种不需要手动干预就可以远程解密 Ubuntu 根分区的方法吗?我可以轻松地将凭据以纯文本形式存储在启用了 LUKS 的另一个 Ubuntu 机器上,它们甚至可以在重新启动时查找彼此的 dropbear 服务器并相互解密。
答案1
我认为你漏掉了-n
echo 选项。默认情况下,echo 会在末尾添加一个换行符,这是一个常见的问题。尝试
echo -n <password> | cryptroot-unlock