我正进入(状态 ”此密码短语没有可用的密钥。“尝试时:
sudo cryptsetup open --type luks /dev/sdc storage --key-file=/path/to/keyfile
该/path/to/keyfile
文件仅包含纯文本的密码。
如果我输入相同交互询问时的密码:
sudo cryptsetup open --type luks /dev/sdc storage
那么它就起作用了。
为什么--key-file
在这种情况下不起作用?这是 Ubuntu 14.04 @ Linux 3.13.0-68。
答案1
我猜是您的密钥文件末尾有一个换行符。这将用作密钥的一部分,因此您需要将其删除。
你可以尝试
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
答案2
您误解了 的用法--key-file
。密钥文件是用于解锁介质的包含数据(通常是随机数据)的文件,而不是以纯文本形式存储密码的文件。
因此,您需要创建一个密钥文件,然后将该密钥文件添加为解锁介质的密钥。然后,您需要确保该密钥文件安全,以保护您的加密介质。可以在此处找到生成和添加密钥文件的一种方法:
HowToForge 说明