Install Luks
sudo apt install cryptsetupCreate an empty file, size 512 Mb
cd ~/
dd if=/dev/urandom of=vaultfile.img bs=1M count=512Create Luks Volume
sudo cryptsetup -v --verify-passphrase luksFormat vaultfile.imgCheck if Luks device
sudo cryptsetup -v isLuks vaultfile.imgA look at LUKS header
sudo cryptsetup luksDump vaultfile.imgTest passphrase
sudo cryptsetup --verbose open --test-passphrase vaultfile.imgAdd another passphrase
sudo cryptsetup -v luksAddKey vaultfile.imgRemove a passphrase
sudo cryptsetup -v luksRemoveKey vaultfile.imgAdd key file for automount
sudo mkdir -p /etc/luks-keys/
sudo dd if=/dev/random of=/etc/luks-keys/myvault_key bs=32 count=1
sudo cryptsetup -v luksAddKey vaultfile.img /etc/luks-keys/myvault_key
# open volume with key-file
sudo cryptsetup -v open --type luks --key-file /etc/luks-keys/myvault_key vaultfile.img myvaultOpen Volume
sudo cryptsetup -v open --type luks vaultfile.img myvault
ls /dev/mapperCreate Filesystem
sudo mkfs.ext4 -L myvault /dev/mapper/myvaultAdd Permissions
mkdir ~/myvault
sudo mount /dev/mapper/myvault ~/myvault
sudo chown -R $USER:$USER ~/myvault # or sudo chown -R root:root ~/myvault
sudo chmod a+rwxt ~/myvault
find ~/myvault -type f -exec chmod 777 {} \;
find ~/myvault -type d -exec chmod 777 {} \;
sudo umount ~/myvaultClose
sudo cryptsetup -v close myvaultBackup and recovery of LUKS header
sudo cryptsetup luksHeaderBackup --header-backup-file /root/myvault.luks.bin vaultfile.img
# restore
sudo cryptsetup luksHeaderRestore --header-backup-file /root/myvault.luks.bin vaultfile.imgCheck header dump
sudo file /root/myvault.luks.bin
sudo stat /root/myvault.luks.bin
sudo cryptsetup luksDump /root/myvault.luks.binUse it like this
sudo cryptsetup -v open --type luks vaultfile.img myvault
sudo mount /dev/mapper/myvault ~/myvaultUnmount and Close
sudo umount ~/myvault
sudo cryptsetup -v close myvaultList your gpg key
gpg --list-secret-keys --keyid-format=long --with-keygrip --with-subkey-fingerprints -vvv
Import it into root keyring
gpg --export-secret-subkeys 28B03D68D333871691DC245609867128C44DF037 | sudo gpg --batch --import
Encrypt luks file key with gpg
sudo gpg --encrypt --recipient 28B03D68D333871691DC245609867128C44DF037 /etc/luks-keys/myvault_key
sudo shred -vzu -n5 /etc/luks-keys/myvault_key
Mount luks device using gpg to decrypt
sudo gpg --pinentry-mode loopback --quiet --decrypt /etc/luks-keys/myvault_key.gpg | sudo cryptsetup open --type luks --key-file=- vaultfile.img myvault
sudo mount /dev/mapper/myvault ~/myvault
https://cryptsetup-team.pages.debian.net/cryptsetup/encrypted-boot.html#enabling-cryptomount-in-grub2