How To mount encrypted volume using with lukspass

[IMG]

[1]

tanto para recordar y tanto para perder!

Supongamos que tengo un volumen cifrado con *LUKS* y lo quiero montar, pero *no recuerdo su identificador unívoco*, por ej:

`nvme-SAMSUNG_MZVLB512HBJQ-000L7_S4ENNF0N742476-part3`

y además *no recuerdo su passphrase*, por ej:

`p1KZFi5dGqyEBp2Uhyflzz6CvhiVLYkP5umw42htHe7piR1KVf0U2rMGTwCkZ3m8XDGrcE9qBi6XzTdYbXM922LynwlJj9KJ9UFCjZYLMAYVKp5NQhvlPdHVdJydelQm`

`pass` para no olvidar

`pass` es un *script* que integra `gnupg` ^1[2] con `git` y `tree` y se ocupa de facilitar la generación y el almacenado de secretos de todo tipo.

Tengo un volumen con *Debian 10*, entonces en `pass` lo guardo como `debian10` que es un nombre corto y fácil de recordar, pero en lugar de guardarlo como un archivo, lo hago como un enlace simbólico al identificador unívoco del volumen, en este caso `nvme-SAMSUNG_MZVLB512HBJQ-000L7_S4ENNF0N742476-part3`, que es mas difícil de recordar.


# pass find debian10
Search Terms: debian10
└── luks
    └── tequila
        └── debian10 -> nvme-SAMSUNG_MZVLB512HBJQ-000L7_S4ENNF0N742476-part3

# cd .password-store/luks/tequila/

# ls -lah debian10*
lrwxrwxrwx 1 root root 56 ago 25  2021 debian10.gpg -> nvme-SAMSUNG_MZVLB512HBJQ-000L7_S4ENNF0N742476-part3.gpg

la magia esta en `lukspass`

Hace un par de años que uso `pass` ^2[3] y hoy publiqué el *script* `lukspass` ^3[4] que vengo usando hace tiempo y esta en condiciones de liberar hace rato!

`lukspass` no hace otra cosa que buscar un nombre, en este caso `debian10`, obtener el identificador unívoco del volumen, obtener la *passphrase* ^4[5], descifrar el volumen usando `cryptsetup luksOpen` y montar el volumen (por defecto en `/mnt`), en este caso en `/mnt/debian10`.

Son 2 pasos, indicar el nombre del volumen y tipear la *passphrase* de la *GPG*:


# lukspass debian10

┌─────────────────────────────────────────────────────────────────────────┐
│ Introduzca frase contraseña para desbloquear la clave secreta OpenPGP:  │
│ "Osiris Alejandro Gomez "                               │
│ clave de 8192-bit RSA, ID FAFAFA23CAFEACDC,                             │
│ creada el 2020-01-01 (ID de clave primaria CDCAEFAC32AFAFAF).           │
│                                                                         │
│                                                                         │
│ Frase contraseña errónea (intento 2 de 3)                               │
│                                                                         │
│ Frase contraseña: ***************************************************** │
│                                                                         │
│                                                           │
└─────────────────────────────────────────────────────────────────────────┘

lukspass name=debian10 gpg=/root/.password-store/luks/tequila/debian10.gpg device=nvme-SAMSUNG_MZVLB512HBJQ-000L7_S4ENNF0N742476-part3

Si quisiera verificar, puedo ejecutar `mount` y ver que esta realmente montado:


# mount | grep debian10
/dev/mapper/debian10 on /mnt/debian10 type ext4 (rw,relatime)

# df -h | grep debian10
/dev/mapper/debian10           46G    11G   33G  26% /mnt/debian10

Una de las grandes ventajas es que me permite montar volumenes remotamente accediendo por `ssh` y estos volúmenes pueden ser de disctos externos por *USB* u otro tipo de conexión.

Por otro lado por tratarse de un repositorio `git`, queda versionado y puedo contar con esos secretos en varios `hosts` y siempre con la seguridad que ofrece `gnupg`.

te puede interesar

ChangeLog

1: file:img/how-to-mount-encrypted-volume-using-lukspass.png
2: https://es.wikipedia.gmi/wiki/GNU_Privacy_Guard
3: https://www.passwordstore.gmi/
4: https://gitlab.com/osiux/pass-utils/-/blob/develop/lukspass
5: %5Bhttps://es.wikipedia.gmi/wiki/Frase_de_contrase%C3%B1a%5D(https://es.wikipedia.gmi/wiki/Frase_de_contrase%C3%B1a)
6: 2023-02-15-send-automatic-notifications-using-ntfy.gmi
7: 2021-08-16-install-debian-bullseye-on-thinkpad-t14-gen-1.gmi
8: 2021-02-19-no-me-acuerdo-de-nada-dejame-en-pass.gmi
9: 2021-01-26-disaster-recovery-plan-osiux.gmi
10: 2021-01-25-ansible-luks-format-external-usb-disk.gmi
11: 2014-11-14-un-tupper-para-almacenar-backups.gmi
12: howto-gpg-gnu-pgp.gmi
13: https://gitlab.com/osiux/osiux.gitlab.io/-/commit/56574a3733a765f3f28dba3c2d070b92e7ca5687
14: https://gitlab.com/osiux/osiux.gitlab.io/-/commit/bad55a9e3341dee7336c056c99407d003065d5fa