我在CentOS 5上用cryptsetup luksencryption了一堆硬盘。一切都很好,直到我把我的系统升级到了CentOS 6.现在我无法安装磁盘了。
用我的关键字来安装:
sudo cryptsetup luksOpen /dev/sdc1 d2
我得到这个错误:
device-mapper: reload ioctl on failed: Invalid argument Failed to setup dm-crypt key mapping for device /dev/sdc1. Check that kernel supports aes-xts-plain64 cipher (check syslog for more info). Failed to read from key storage.
在/ var / log / messages中:
Feb 3 23:43:23 data kernel: device-mapper: table: 253:0: crypt: Device lookup failed Feb 3 23:43:23 data kernel: device-mapper: ioctl: error adding target to table
任何想法如何我可以挂?
find解决scheme
问题是驱动器使用长度大约为512个字符的交互式关键字进行encryption(从密钥文件复制/粘贴)。 出于某种原因,CentOS 6中的新内核模块在由旧版本创build时不能正确读取512个字符的encryption密钥。 似乎只影响内核或cryptsetup的不同版本,因为在同一个系统上创build并打开一个512个字符的密钥。
综上所述…
内核 – >创build512个字符的密钥 – >可以在同一个内核中打开
旧内核 – >创build512个字符的luks密钥 – >在新内核中无法打开
512个字符太长了。 不知道门槛是什么,但我决定把我的密钥更改为50个字符,它的工作。
为了解决这个问题,我重新安装了以前使用的旧的CentOS 5操作系统,使用cryptsetup luksAddKey,input了原始(长)512个字符的密钥,并创build了一个长度为50个字符的新密钥。
然后,我重新安装CentOS 6,并使用50个字符的密钥(不是原始密钥),用cryptsetup luksOpen成功挂载每个磁盘。
所以给那些得到类似错误的人留言。 如果你用一个超长密钥encryption你的驱动器,换一个新的内核或cryptsetup,当你试图运行时你会得到一个内核模块的错误打开你的encryption卷,你可能不得不回到旧的内核版本使用luksAddKey和在新内核中使用之前添加更短的密钥。 这可能是一个错误,或者LUKS使用的内核模型中允许的最大交互键不匹配。