This pin uses Ionic Machina to request an Ionic Policy controlled AES key by its keyid using the machina cli.
This pin requires the clevis package. This pin also requires the machina cli available
here. If operating inside of a virtual machine it may be necessary
to install and run the haveged tool to seed sufficient entropy
for the machina cli.
Copy clevis-encrypt-ionic and clevis-decrypt-ionic to /usr/bin/ along side the other clevis
pins.
Once machina is installed a persistor should be enrolled
see here for details.
The Ionic keyid must be provided in the JSON configuration for the pin.
clevis encrypt ionic '{"keyid":"<mykeyid>"}' < plain.txt > cyptotext.jwe
Machina general options can be specified in JSON configuration field.
{"keyid":"<mykeyid>","generaloptions":"-t <devicetype> -f <devicefilepath>"}
This is required when using any persistor other than the default.
To use this pin for luks binding the clevis-luks package is also required. Do not rely on the
default persistor for machina instead specify a persistor located on the boot volume.
cryptsetup --verify-passphrase luksFormat <device>
Enter a backup password.
cryptsetup luksOpen <device> example
mkfs.ext4 /dev/mapper/example
mkdir /EXAMPLE
mount /dev/mapper/example /EXAMPLE
machina key create
Record the keyid.
clevis luks bind -d <device> ionic '{"keyid":"<mykeyid>","generaloptions":"-t <devicetype> -f <devicefilepath>"}
Use the clevis-mount-helper project to configure automounting of luks encrypted devices.