如何将凭证传输到 cryptroot-unlock 以实现启动时自动解锁 LUKS

如何将凭证传输到 cryptroot-unlock 以实现启动时自动解锁 LUKS

我的根分区使用 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

我认为你漏掉了-necho 选项。默认情况下,echo 会在末尾添加一个换行符,这是一个常见的问题。尝试

echo -n <password> | cryptroot-unlock

相关内容