是否可以在 bash 的输出中使用 luks?

是否可以在 bash 的输出中使用 luks?

我可以使用luks(如 OpenSSL)来加密 bash 输出吗?

例如使用 OpenSSL:

echo "test" | openssl .....

我可以通过 Luks/Cryptsetup 以某种方式做到这一点吗?像这样:

echo "test" | Luks...

答案1

LUKS 不是命令,它是技术和/或元数据格式的名称,所以不,您不能使用 LUKS 来加密字符串。同样适用于cryptsetup它只是一个用于配置和管理 LUKS/dm-crypt 设备的用户空间工具(库),并且本身不进行加密 - 写入设备/从设备读取的数据由设备映射器加密插件加密在使用内核加密 API 的内核中,cryptsetup 仅告诉内核创建此类设备并为其提供加密密钥(并且还负责密钥管理),其他所有事情都发生在设备映射器中。

如果您只想cryptsetup以非交互方式创建加密设备,那当然是可以的:

printf %s "$password" | cryptsetup luksFormat /dev/sdxY -

以及类似地解锁设备

printf %s "$password" | cryptsetup luksOpen /dev/sdxY name -

然后您可以将数据写入/dev/mapper/name并随后使用 关闭它cryptsetup close name

您可以创建磁盘映像并直接使用它(因此cryptsetup luksOpen disk.img name不使用块设备),但要实际加密某些内容,您仍然需要将其写入创建的设备映射器设备。

相关内容