cryptsetup:使用密钥文件和密码短语的 dm-crypt 纯模式

Use*_*841 5 encryption dm-crypt cryptsetup

我觉得密钥文件和密码提供了不同的好处。它们不能以相同的方式获得(一种您需要实际获得,另一种您需要知道)。因此,我认为使用这两种方法加密我的数据有很大的好处。这样,如果有人受到损害,加密仍然完好无损。

在普通模式下使用 dm-crypt,我想同时使用两者。默认情况下,dm-crypt 使用密码短语,我可以轻松地将其更改为密钥文件。但它们似乎是同一种输入(例如,如果提供,密钥文件将成为您的密码)。因此,同时使用 --key-file 和 --verify-passphrase 不起作用。

这里有什么解决方法可以同时使用两者吗?

yae*_*shi 5

您可以将cryptsetup(可能是非常长且复杂的字符串)的实际密码存储在由 GnuPG(或任何其他工具)加密的文件中,并使用您能记住的另一个密码。

首先加密密码字符串gpg以获取加密keyfile

# echo 'long-long-passphrase-for-cryptsetup' | gpg -q -c --cipher-algo AES256 -o keyfile 
Enter passphrase: <- Enter another passphrase you can remember
# file keyfile 
keyfile: GPG symmetrically encrypted data (AES256 cipher)
Run Code Online (Sandbox Code Playgroud)

然后解密keyfile以将该密码短语提供给cryptsetup --key-file -.

# gpg -qd keyfile | cryptsetup plainOpen --key-file - /path/to/image volname
Run Code Online (Sandbox Code Playgroud)

类似的建议可以在cryptsetup 手册中看到。

gpg -c为简单起见,上面的示例使用对称加密 ( )。要是能采用公钥加密就好了!