Luks Encryption under Ubuntu

Copy a LUKS volume

This is how to copy a LUKS partition from back1 to back2.

Prepare back2 disk

We assume the original device is already opened using:

cryptsetup luksOpen /dev/disk/by-uuid/dc861b6d-0113-4da8-9c74-23fb1e759195 back1

First create a LUKS partition (back2 on /dev/sdc1)

  1. Repartition drive with sudo fdisk /dev/sdc as a linux partition
  2. sudo cryptsetup luksFormat /dev/sdc1

Open the new LUKS device and copy data

sudo cryptsetup luksOpen /dev/sdc1 back2
sudo mkfs.ext4 /dev/mapper/back2

Close everything so we can start from scratch for the copying:

cryptsetup luksClose /dev/mapper/back1
cryptsetup luksClose /dev/mapper/back2

Copying back1 to back2

Find UUIDS using blkid, then

cryptsetup luksOpen /dev/disk/by-uuid/dc861b6d-0113-4da8-9c74-23fb1e759195 back1
cryptsetup luksOpen /dev/disk/by-uuid/b6e6191b-673a-49c2-87b0-7a1a2d880bb1 back2
mount /dev/mapper/back1 /srv/back1
mount /dev/mapper/back2 /srv/back2
nohup rsync -Phav /srv/back1/ /srv/back2&

Mounting back2

Ubuntu

cryptsetup luksOpen /dev/disk/by-uuid/b6e6191b-673a-49c2-87b0-7a1a2d880bb1 back2
mount /dev/mapper/back2 /srv/back2

Windows using Ubuntu in Hyper-V.

  • The trick here is you need to right click -> Disk Management -> (take drive offline).
  • Then in Hyper-V, you go to Setting -> SCSI-Controller -> (add the drive as a physical drive)
  • Use an External Virtual Switch to put the machine on the same subnet as your host and samba to share the drive

MacOS using Ubuntu in VMWare

  • It took me a long time to figure out that you can only pass through the disk as a USB 3.0 disk and have to install Guest Additions from Preferences on VMWare.
  • Use an Bridged Adapter to put the machine on the same subnet as your host and samba to share the drive

Closing the LUKS drives

umount /srv/back1
umount /srv/back2
cryptsetup luksClose /dev/mapper/back1
cryptsetup luksClose /dev/mapper/back2

Mounting a Samba Shared Drive

You can mount a samba shared drive from a Ubuntu machine as follows

mount -t cifs //phwlnuc/back2 /srv/back2 -v -o username=phwl,uid=$(id -u),gid=$(id -g),iocharset=utf8,vers=3.0

Linsk (11/5/24)

I haven’t tried this but it looks good. https://github.com/AlexSSD7/linsk

A few scripts to remember

* Get size of all files from a find command ```find . -name '*.pdf' -exec du -hc {} +```
* Rsync all pdf's ```rsync -am --include='*/' --include='*/*.pdf' --exclude='*' . /Volumes/SamsungC```