Buscando cifrar un segundo hdd para datos en una instalación Debian 12 cifrada existente.

Queriendo que se monte automáticamente este 2ndo disco gracias a un archivo llave presente en el sistema.

Todo esta en el titulo, intenté hacer una instalación nueva con un /boot en ext2, separado del resto del sistema cifrado, es decir una partición cifrada, conteniendo una LVM en la cual existan tres volúmenes: “root” “swap” y “home”… Por ignorancia, tuve que abandonar mi pretensión a configurar el segundo hdd (que queria montar como /data) al momento de instalar el sistema, me saltaron errores.
No sabia si esta partición “data” tenía que ser parte de la LVM… O sea no sabia si iba a poder aprovechar correctamente del sistema sobre mi ssd teniendo una lvm repartida sobre dos discos de distinto tipo (ssd y hdd). Digamos que me pareció ovvio que no era el buen aproche… (la respuesta es NO! Efectivamente el hdd “mecánico” ralentizaría el conjunto LVM, haciendo que no se aproveche la velocidad dele disco ssd).

Entonces intenté de hacer dos particiones cifradas, una para el ssd y otra para el hdd… Ahí, el instalador de Debian 12 me tiraba un error como que no lograba montar la partición /data, así que no podía ir mas allá de la instalación. Después no recuerdo bien lo que me pasó, pero logré hacer esta instalación… Sin cifrar el hdd (con “data” encima)… Y al reiniciar me saltó otro error… Tuve que comentar la linea de este hdd en /etc/fstab para poder reiniciar correctamente mi sistema…

Así que decidí cifrar este segundo disco después de la instalación del sistema, y buscar como “abrir” este disco gracias a un archivo llave presente en la partición sistema (cifrada). Así este disco de una sola partición llamada “data” estaría cifrada y no tendría porque teclear dos veces mi frase de pase, gracias a la presencia del archivo llave en el sistema.

A ver como lo logré…. (bueno, gracias a un muy querido amigo que, una vez más, me ayudó !)

Primero, usé el gestionador de Discos para hacer una nueva tabla de partición sobre mi hdd que iba a recibir mi partición “data”, elegí la opción MBR, y pedí tal cual una partición LUKS cifrada. Entré mi frase de pase cuando me la pidió, y pa lante…
Después hice una partición única en formato ext4.

A continuación se trata de editar dos archivos y de generar un archivo llave.
/etc/fstab y /etc/crypttab

Usé “sudo blkid” para conocer le UUID de mi hdd, en mi sistema es sda1, el ssd donde esta mi sistema Debian fue definido como sdb2.

Edité /etc/fstab y le añadí la siguiente linea:
/dev/mapper/sda1_crypt /data ext4 noatime,nodiratime,errors=continue 0 2
(el errors=continue era para no impedir que el sistema arranque mismo si la cagaba con el montaje de mi segundo disco cifrado…)
“sda1_crypt” puede llamarse como quieras, pero sí deberá llamarse igual en el archivo /etc/crypttab
“data” tambien, es un nombre a tu elección, siempre y cuando especifiques aquí un camino hacia un directorio existente en tu sistema de archivos. Yo elegí ubicar este directorio “data” a la raíz de mi sistema de archivos con: “sudo mkdir /data

Edité /etc/crypttab y le añadí la siguiente linea:
sda1_crypt UUID=lademiparticiondata /etc/cryptsetup-keys.d/algo luks,discard

“sda1_crypt” refiriéndose a la misma denominación usada en /etc/fstab (después de “/dev/mapper”)
la UUID que me dio blkid anteriormente
El archivo en /etc/cryptsetup-keys.d/algo se puede llamar como una quiera, lo vamos a generar a continuación, lo puse ahí porque es dentro de la partición sistema, así no es accesible para une usuarie común, también porque en no sé cual tutorial que me encontré, decían que en esta carpeta el sistema buscaba los archivos de llave por defecto. O sea que si no existe el directorio, se puede crear, o se puede usar otro.. Siempre y cuando esté definido el camino hasta dicho archivo aquí. Lo nombré “algo” para que no sea demasiado explicito a qué sirve el fichero.

Para generar en un lugar adecuado dicho archivo llamado “algo”:
sudo dd bs=4096 count=1 if=/dev/random of=/etc/cryptsetup-keys.d/algo

Para añadir este archivo como llave para abrir nuestro disco cifrado:
sudo cryptsetup luksAddKey /dev/sda1 /etc/cryptsetup-keys.d/algo
Nos pedirá ingresar la frase de pase anteriormente generada cuando creamos la partición LUKS en sda.
Y… voilà !! Al próximo reinicio, la partición cifrada /data debería montarse automáticamente !

Podemos averiguar la existencia de nuestro archivo llave para abrir nuestro disco sda1 con:
sudo cryptsetup luksDump /dev/sda1
Nos aparecen unas cuantas lineas, describiendo la versión de LUKS usada por el sistema, la UUID del disco, otras informaciones… hasta los “Keyslots”, le Keyslot 0 es donde esta considerada nuestra frase de pase inicial, le Keyslot 1 es donde esta considerada nuestre archivo llave que se encuentra en “/etc/cryptsetup-keys.d/algo”

Para redactar este articulo me base sobre estas páginas:
https://www.cyberciti.biz/hardware/cryptsetup-add-enable-luks-disk-encryption-keyfile-linux/
https://man7.org/linux/man-pages/man5/crypttab.5.html#top_of_page
https://linux.die.net/man/8/cryptsetup
https://wiki.evolix.org/HowtoLUKS

Deja un comentario