Cra*_*ide 5 encryption centos disk-encryption luks
我在 CentOS 5 上使用 cryptsetup luks 加密对一堆硬盘进行了加密。一切都很好,直到我将系统升级到 CentOS 6。现在我无法再挂载磁盘了。
使用我的关键词安装:
sudo cryptsetup luksOpen /dev/sdc1 d2
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
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.
Run Code Online (Sandbox Code Playgroud)
在 /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
Run Code Online (Sandbox Code Playgroud)
关于如何安装有什么想法吗?
找到解决方案。
问题是驱动器使用大约 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 使用的内核模型中允许的最大交互键数不匹配。
| 归档时间: |
|
| 查看次数: |
3482 次 |
| 最近记录: |