通过kickstart在centos上保存磁盘加密托管文件

时间:2018-06-27 16:42:02

标签: encryption redhat luks

我正在尝试通过PXE自动化centos安装并使用加密文件系统启动。如果我们放错密码短语,我们想使用托管文件,并使用从Web服务器获得的x509证书附带的公钥对它们进行加密。 kickstart文件中的相关行是

logvol /home --fstype ext4 --name=lv02 --vgname=vg01 --size=1 --grow --encrypted --escrowcert=http://10.0.2.2:8080/escrow.crt --passphrase=XXXX --backuppassphrase

将证书保留为Web服务器上的PEM编码而不是DER似乎无关紧要,无论哪种都可以。

使用提供的密码创建并加密文件系统,并且可以在重新启动时打开它而没有问题。如预期的那样,将生成两个托管文件,如果使用包含私钥和第一个托管文件的NSS数据库,我会得到我认为是密码短语的密码,但它不会解锁磁盘。例如:

# volume_key --secrets -d /tmp/nss e04a93fc-555b-430b-a962-1cdf921e320f-escrow
    Data encryption key:<span class="whitespace other" title="Tab">»</span>817E65AC37C1EC802E3663322BFE818D47BDD477678482E78986C25731B343C221CC1D2505EA8D76FBB50C5C5E98B28CAD440349DC0842407B46B8F116E50B34

我假设从817到B34的字符串是密码短语,但是在cryptsetup命令中使用它不起作用。

[root@mypxetest ~]# cryptsetup -v status home
/dev/mapper/home is inactive.
Command failed with code 19.

[root@mypxetest ~]# cryptsetup luksOpen /dev/rootvg01/lv02 home
Enter passphrase for /dev/rootvg01/lv02: 
No key available with this passphrase.
Enter passphrase for /dev/rootvg01/lv02: 

在出现提示时,我粘贴了长数字字符串,但收到了“无键可用”消息。但是,如果我使用kickstart文件或备份托管文件中指定的密码,则磁盘会解锁。

# volume_key --secrets -d /tmp/nss e04a93fc-555b-430b-a962-1cdf921e320f-escrow-backup-passphrase 
Passphrase:<span class="whitespace other" title="Tab">»</span>QII.q-ImgpN-0oy0Y-RC5qa

然后在crypsetup命令中使用字符串QII.q-ImgpN-0oy0Y-RC5qa即可。

有人知道我想念什么吗?为什么两个托管文件都不起作用?

1 个答案:

答案 0 :(得分:0)

我已经进行了一些阅读,并且以escrow结尾的文件不是luks卷的替代密码,但是它包含加密密钥,该密钥当然是加密的。解密时,长字符串是加密密钥,其余的文字中有一个线索,我承认我不太清楚。