无需输入密码即可让 cryptsetup 工作

无需输入密码即可让 cryptsetup 工作

我已经使用 cryptsetup 加密外部硬盘。

我可以毫无问题地使用加密硬盘的方式:

/sbin/cryptsetup luksOpen /dev/sdc1 backup   
// typing password   
// mounting the partition   
// doing something   
// unmounting the partition  
/sbin/cryptsetup luksClose /dev/mapper/backup

但我的下一个要求是能够在不输入密码的情况下做到这一点。

然后我通过以下命令使用我的密码哈希值创建了一个二进制文件:

hashalot -n 32 ripemd160 > volume_key 

进而:

/sbin/cryptsetup luksOpen -d volume_key /dev/sdc1 backup

但我收到此错误:

Command failed: No key available with this passphrase.

大家有什么想法吗?

答案1

如果你像我一样来到这里寻找答案,答案是这样的:

然后我通过以下命令使用我的密码哈希值创建了一个二进制文件:

 hashalot -n 32 ripemd160 > volume_key 

然后你必须:

 /sbin/cryptsetup luksAddKey <device> volume_key       
 Enter any passphrase:   <- enter current passphrase aka: "typing password"

现在 cryptsetup 已将您的文件 (volume_key) 添加为您的卷的另一个密钥。从技术上讲,您可以将任何文件用作此密钥。jpg 图像,甚至任何充满随机文本的文件。

最后,现在你可以这样做:

 /sbin/cryptsetup luksOpen -d volume_key /dev/sdc1 backup

如果存在密钥文件,cryptsetup 将使用它;如果找不到该文件,则询问您的密码。

答案2

cryptsetup 手册页对 -d 参数提出了以下建议:“如果您想通过密钥文件设置新密钥,则必须使用位置参数来传入 luksFormat 或 luksAddKey。”

答案3

volume_key 文件的内容将由 cryptsetup 进行散列,因此您不需要自己执行此操作?

相关内容