Создаём шифрованную флешку в Linux
Зачем всё это
Шифрованную флешку можно использовать для хранения паролей, ключей шифрования и т. п.
Подготовка флешки
Создаём шифрованный раздел
Создаём раздел:
$ sudo fdisk /dev/sdc
Шифруем раздел:
$ sudo cryptsetup -y -v luksFormat /dev/sdc1
Монтируем и читаем служебную информацию
Монтируем шифрованный раздел:
$ sudo cryptsetup luksOpen /dev/sdc1 backup-keys
Он будет примонтирован в /dev/mapper/backup-keys с симлинком на /dev/dm-0
$ ls -l /dev/mapper/backup-keys
lrwxrwxrwx 1 root root 7 мар 27 12:24 /dev/mapper/backup-keys -> ../dm-0
Узнать статус устройства:
$ sudo cryptsetup -v status backup-keys
[sudo] пароль для adegtyarev:
/dev/mapper/backup-keys is active.
type: LUKS2
cipher: aes-xts-plain64
keysize: 512 bits
key location: keyring
device: /dev/sdc1
sector size: 512
offset: 32768 sectors
size: 227328 sectors
mode: read/write
Команда выполнена успешно.
Получить подробную информацию о зашифрованных томах
$ sudo cryptsetup luksDump /dev/sdc1
На всякий случай сделайте резервную копию заголовка LUKS в файл usb-luks-header-backup.bin и сохраните его в надёжном месте:
$ sudo cryptsetup luksHeaderBackup /dev/sdc1 --header-backup-file usb-luks-header-backup.bin
Восстановить заголовок можно будет командой:
$ sudo cryptsetup luksHeaderRestore /dev/sdc1 --header-backup-file usb-luks-header-backup.bin
Создаём файловую систему, монтируем и даём права пользователю
Теперь создадим файловую систему:
$ sudo mkfs.ext4 /dev/mapper/backup-keys
Создаём точку монтирования и монтируем диск:
$ udo mkdir /mnt/tmp
$ sudo mount /dev/mapper/backup-keys /mnt/tmp
Чтобы работать с флешкой было удобно, дадим пользователю полные права:
$ sudo chown -R username:groupname /mnt/tmp
Всё, переходим в точку монтирования в консоли или открываем её в файловом менеджере по вкусу:
$ cd ./backup-keys
Отключение шифрованного раздела
Теперь отключим шифрованный раздел:
$ cd ~
$ sudo umount /dev/mapper/backup-keys
$ sudo cryptsetup luksClose /dev/mapper/backup-keys
Использование шифрованной флешки
Общий алгоритм теперь каждый раз такой.
Открываем шифрованный раздел через LUKS:
$ sudo cryptsetup luksOpen /dev/sdc1 backup-keys
Монтируем:
$ sudo mount /dev/mapper/backup-keys /mnt/tmp
По завершении работы не забывайте отмонтировать шифрованный раздел и отключить блочное устройство.
Изменение пароля
Сделаем резервную копию заголовков LUKS:
$ sudo cryptsetup luksDump /dev/sdc1
Задаём новую ключевую фразу:
$ sudo cryptsetup luksAddKey /dev/sdc1
Удаляем старую ключевую фразу, нужно будет ввести старый пароль:
$ sudo cryptsetup luksRemoveKey /dev/sdc1