Minha unidade criptografada LUKS tem 3 senhas. Dois deles estão seguros (e longos), o outro está perdido. No entanto, lembro-me vagamente de que não estava à altura; foi usado durante experimentos e deveria ter sido apagado depois. Como posso me livrar dessa chave, já que não a conheço mais, mas pelo menos as outras duas?
A opção mágica é
luksKillSlot
.O objetivo é descobrir qual dos seus três compartimentos de chave contém a chave a ser excluída. Se você ainda não conhece, pode verificar isso tentando todas as chaves conhecidas uma após a outra e deixar que
cryptsetup
diga qual chave se refere a qual slot. A chave desconhecida então se refere ao slot restante.Verifique quais slots são usados (no meu caso, os slots 0, 1 e 2 são usados). Substitua
/dev/sdb4
pelo seu dispositivo real:Agora abra (= descriptografe) seu dispositivo com sua primeira chave e
cryptsetup
seja detalhado para mostrar qual slot foi usado para desbloquear o dispositivo:Lembre-se de qual slot (2 neste caso) a primeira chave se refere e desfaça o passo:
Repita com sua segunda chave conhecida:
Agora você sabe que as duas chaves conhecidas referem-se ao slot 2 e ao slot 0. Portanto, o slot 1 deve ser aquele que contém a chave desconhecida. Exclua-o com:
Confira:
Não posso comentar, mas para estender a resposta do @PerlDucks
Em vez de ter que abrir/bloquear a partição para cada chave que deseja testar, você pode usar
cryptsetup open
(oucryptsetup luksOpen
- sintaxe antiga) com--test-passphrase
sinalizador, osomeAlias
então pode ser omitido.Exemplo:
cryptsetup -v open --test-passphrase --type luks /dev/sdb4
Trecho de
man cryptsetup
De acordo com o changelog cryptsetup , este sinalizador está disponível desde
2012-06-18
, ou para a versão cryptsetup desde1.5.0-rc2
(isso significa que deve estar disponível para praticamente todos hoje)