我在CentOS 5上使用cryptsetup luks加密加密了一堆硬盘.一切都很好,直到我将系统升级到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
有关如何装载的任何想法?
找到解决方案
问题是驱动器使用大约512个字符长的交互式关键短语加密(从密钥文件复制/粘贴).出于某种原因,CentOS 6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用.
综上所述…
内核 – >创建512个字符的luks密钥 – >可以在同一个内核中打开
旧内核 – >创建512个字符的luks密钥 – >无法在新内核中打开
512个字符太长了.不知道阈值是多少,但我决定将我的密钥更改为50个字符,并且它有效.
为了解决这个问题,我重新安装了我之前使用的旧CentOS 5操作系统,使用了cryptsetup luksAddKey,输入了原始(长)512个字符的密钥,并创建了一个长度为50个字符的新密钥.
然后我重新安装了CentOS 6,并使用50个字符的密钥(而不是原始密钥)成功地使用cryptsetup luksOpen挂载每个磁盘.
所以给那些得到类似错误的人留言.如果使用超长密钥加密驱动器,更改为新内核或cryptsetup,并且在尝试luksOpen加密卷时出现内核模块错误,则可能必须返回旧内核版本以使用luksAddKey和在新内核中使用之前添加较短的密钥.这可能是一个错误,或LUKS使用的内核模型中允许的最大交互键中的一些不匹配.