cryptsetup luksOpen密钥文件不起作用

我正在尝试使用此密码短语没有密钥可用

sudo cryptsetup open --type luks /dev/sdc storage --key-file=/path/to/keyfile

/path/to/keyfile文件仅包含纯文本的密码。

如果在交互式询问时input相同的密码短语:

sudo cryptsetup open --type luks /dev/sdc storage

那么它的工作。

为什么在这种情况下, --key-file不起作用? 这是Ubuntu 14.04 @ Linux 3.13.0-68。

我的猜测是你的密钥文件末尾有一个换行符。 这将被用作键的一部分,所以你需要删除它。

你可以试试

 perl -pi -e 'chomp if eof' /path/to/file 

将其删除。 例如

带有文本的密钥文件

 fred\n 

我们可以使用od来查看文件的内容

 od -x keyfile 0000000 7266 6465 000a 0000005 

那么运行perl脚本之后就可以了

 od -x keyfile 0000000 7266 6465 0000004 

你错误地解释了--key-file的使用。 密钥文件是一个带有数据(通常是随机数据)的文件,用于解锁介质,而不是密码以纯文本forms存储的文件。
因此,您将创build一个密钥文件,然后将该密钥文件添加为解锁介质的密钥。 然后,您需要保持密钥文件安全,以保护您的encryption介质。 生成和添encryption钥文件的一种方法可以在这里find: HowToForge指令