Tengo una partición encriptada por luks que estaba protegida por una frase de contraseña y un archivo de clave. El archivo de clave era para acceso de rutina y la frase de contraseña estaba en un sobre cerrado para emergencias. Pasaron los meses de mayo y accidentalmente destruí el archivo de la clave, así que me recuperé usando la frase de contraseña del sobre. Ahora quiero saber, tengo dos ranuras de teclas activas, pero no sé cuál contiene la frase de contraseña del archivo de clave inútil y cuál tiene mi frase de contraseña de emergencia. Obviamente, si elimino el incorrecto, perderé todos los datos en el disco.
#cryptsetup luksDump /dev/sda2
LUKS header information for /dev/sda2
Version: 1
Cipher name: aes
Cipher mode: xts-plain64
Hash spec: sha256
Payload offset: 4096
MK bits: 256
MK digest: xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
MK salt: xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
MK iterations: 371000
UUID: 28c39f66-dcc3-4488-bd54-11ba239f7e68
Key Slot 0: ENABLED
Iterations: 2968115
Salt: xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
Key material offset: 8
AF stripes: 4000
Key Slot 1: ENABLED
Iterations: 2968115
Salt: xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
Key material offset: 264
AF stripes: 4000
Key Slot 2: DISABLED
Key Slot 3: DISABLED
Key Slot 4: DISABLED
Key Slot 5: DISABLED
Key Slot 6: DISABLED
Key Slot 7: DISABLED
luksKillSlot
pide una frase de contraseña de otra ranura, por lo que no hay riesgo de destruir la última clave que tiene. Sin embargo, creo que la pregunta original sigue siendo válida.Respuestas:
Como ha descubierto, puede usar
cryptsetup luksDump
para ver qué ranuras de teclas tienen claves.Puede verificar la frase de contraseña para un espacio en particular con
Esto tiene éxito si ingresa la frase de contraseña correcta para la ranura de clave 0 y falla de otra manera (incluso si la frase de contraseña es correcta para alguna otra ranura de clave).
Si ha olvidado una de las frases de contraseña, entonces solo puede encontrar en qué ranura está eliminada, y si ha olvidado dos de las frases de contraseña, entonces no hay forma de saber cuál es cuál (de lo contrario, el hash de la frase de contraseña se rompería).
Para eliminar la frase de contraseña que ha olvidado, puede ejecutar
cryptsetup luksKillSlot /dev/sda2 0
e ingresar con seguridad la frase de contraseña que recuerda. Para borrar una ranura de clave, secryptsetup
requiere la frase de contraseña para una ranura de clave diferente, al menos cuando no se ejecuta en modo por lotes (es decir--batch-mode
, no ,--key-file=-
o una opción equivalente).fuente
Una forma más simple (¿ahora?) Es usar el comando con la
--verbose
opción pero sin especificar el siguiente--key-slot
:Verificará automáticamente la ranura correcta, sin tener que hacer un bucle para encontrar la buena :)
fuente