Disk-Encryption

cryptsetup luksOpen 密鑰文件不起作用

  • August 31, 2016

我在嘗試時收到“此密碼沒有可用的密鑰。 ”:

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。

我的猜測是您的密鑰文件末尾有一個尾隨換行符。這將用作密鑰的一部分,因此您需要將其刪除。

你可以試試

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. 密鑰文件是一個包含用於解鎖介質的數據(通常是隨機數據)的文件,而不是一個以純文字形式儲存密碼的文件。

因此,您將創建一個密鑰文件,然後將該密鑰文件添加為解鎖介質的密鑰。然後,您需要保護該密鑰文件的安全,以保護您的加密媒體。可以在此處找到生成和添加密鑰文件的一種方法: HowToForge 指令

引用自:https://serverfault.com/questions/742675