Atualizado : 19 de junho de 2018
Resumo
Recentemente, recebi um erro semelhante ao tentar descriptografar alguns dados de uma unidade externa. Toda vez que a mensagem de erro vem de uma senha inválida, posso duplicar isso o dia todo. Em vez disso, usando ecryptfs-recover-private eu estava usando ecryptfs-unwrap-passphrase , que eu acho que é para dados específicos, embora eu não tenha vontade de procurar a diferença.
Nota: Este não é um guia de copiar / colar, é mais um registro do meu sucesso.
Desempacotando a frase secreta
Você precisará encontrar seu arquivo wrapped-passphrase
. Se você não tiver certeza de onde está, use find
. Depois de montar seu volume, você pode fazer:
sudo find /media -name wrapped-passphrase
Você desejará substituir o caminho que retorna pelos meus caminhos listados abaixo.
Meus passos depois de montar a unidade antiga.
cd /media/_UUID_/.ecryptfs/paulj/.encryptfs
ecryptfs-unwrap-passphrase ./wrapped-passphrase
Passphrase:
Ele sempre solicitará uma frase secreta, esta é a senha inicialmente configurada quando você criou o diretório pessoal criptografado quando instalou o Ubuntu. Na configuração, é altamente recomendado que você use uma senha diferente da senha de login ... se você tentou sua senha de login na última hora e falhou, tente algumas diferentes. Tente essa senha que você raramente usa.
Eu tinha esquecido o que era o meu, tentei todas as minhas senhas super incríveis e continuei recebendo esta mensagem de erro:
Error: Unwrapping passphrase failed [-5]
Info: Check the system log for more information from libecryptfs
Depois de pesquisar no Google por cerca de uma hora, imaginei que tentaria uma senha que sabia ser ruim, por isso coloquei senha no prompt da frase secreta.
O seguinte foi cuspido:
116b053e08564b53b2967e64e509bdc5
Eu reran o ecryptfs-unwrap-passphrase e tentei uma senha diferente e recebi a mesma mensagem de erro -5 listada acima. Acontece que eu tinha realmente definido a senha para senha , provavelmente devido às minhas frustrações com a descriptografia de dados no Ubuntu no passado.
Adicionar senha para chaveamento
Adicionando a senha para ecryptfs-add-passphrase
, use a senha gerada na etapa anterior.
sudo ecryptfs-add-passphrase --fnek
Passphrase: 116b053e08564b53b2967e64e509bdc5
Saídas:
Inserted auth tok with sig [b69fed2a22932ba4] into the user session keyring
Inserted auth tok with sig [8aad0fb4482edab3] into the user session keyring
Montar ou recuperar
Neste ponto você tem duas opções, sugiro tentar montar, então se você não conseguir montar, tente se recuperar.
Montando o Drive
É fácil pensar no diretório .Private
como um volume desmontado.
Novamente aqui, você precisará especificar seus próprios diretórios.
sudo mkdir -p /home/paulj/Private
sudo mount -t ecryptfs /media/_UUID_/.ecryptfs/paulj/.Private /home/paulj/Private
Passphrase: 116b053e08564b53b2967e64e509bdc5
Select cipher:
1) aes: blocksize = 16; min keysize = 16; max keysize = 32 (loaded)
2) blowfish: blocksize = 16; min keysize = 16; max keysize = 56 (not loaded)
3) des3_ede: blocksize = 8; min keysize = 24; max keysize = 24 (not loaded)
4) cast6: blocksize = 16; min keysize = 16; max keysize = 32 (not loaded)
5) cast5: blocksize = 8; min keysize = 5; max keysize = 16 (not loaded)
Selection [aes]: aes
Select key bytes:
1) 16
2) 32
3) 24
Selection [16]: 16
Enable plaintext passthrough (y/n) [n]: n
Enable filename encryption (y/n) [n]: y <-- If your filenames display oddly, toggle this to y or n.
{this is the second value from Inserted auth tok...}
Filename Encryption Key (FNEK) Signature: 8aad0fb4482edab3
Attempting to mount with the following options:
ecryptfs_unlink_sigs
ecryptfs_fnek_sig=8aad0fb4482edab3
ecryptfs_key_bytes=16
ecryptfs_cipher=aes
ecryptfs_sig=b69fed2a22932ba4
Mounted eCryptfs
Espero que, quando você criou inicialmente a unidade criptografada, não mexesse com os bytes de código ou chave.
Mostra todos os dados no meu diretório pessoal antigo.
cd /home/paulj/Private
ls -la
Observação: Nesse ponto, se você obtiver conjuntos inválidos de permissão / proprietário / grupo, será necessário desmontar a unidade e pular para a seção Recuperar.
Se você tiver um bom conjunto de permissões, copie esse lixo para fora da unidade criptografada para a área de trabalho, por exemplo.
mkdir ~/Desktop/Backup
cp -Rv ./* ~/Desktop/Backup
Recuperar
Eu descobri que não consegui montar meus ecryptfs com sucesso. ls
estava exibindo configurações inválidas de permissão / proprietário / grupo. Parecia algo como o seguinte:
total ??
d????-??-? ?? ?? ?? ?? ?? .
d????-??-? 6 root root 4.0K Jun 19 11:42 ..
d???------ ?? ?? ?? ?? ?? .aptitude
d????-??-? ?? ?? ?? ?? ?? .autoenv
-??-?--?-- ?? ?? ?? ?? ?? .autoenv_authorized
d????-??-? ?? ?? ?? ?? ?? .aws
-??-?--?-- ?? ?? ?? ?? ?? .bash_aliases
-??------- ?? ?? ?? ?? ?? .bash_history
-??-?--?-- ?? ?? ?? ?? ?? .bash_logout
-??-?--?-- ?? ?? ?? ?? ?? .bashrc
d????-??-? ?? ?? ?? ?? ?? bin
d????-??-? ?? ?? ?? ?? ?? .cache
d????-??-? ?? ?? ?? ?? ?? code
d????-??-? ?? ?? ?? ?? ?? .config
Não sei por que acabei tendo problemas com o uso de mount
, então comecei a brincar com ecryptfs-recover-private
e tive um pouco de sorte.
Mais uma vez, você terá que usar sua própria senha gerada acima. Observe que usei a opção --rw
aqui para tornar a montagem de leitura / gravação, se você omitir o switch, ele será montado como somente leitura.
sudo ecryptfs-recover-private --rw /media/_UUID_/.ecryptfs/paulj/.Private
INFO: Found [/media/_UUID_/.ecryptfs/paulj/.Private].
Try to recover this directory? [Y/n]: Y
INFO: Found your wrapped-passphrase
Do you know your LOGIN passphrase? [Y/n] Y
INFO: Enter your LOGIN passphrase...
Passphrase: 116b053e08564b53b2967e64e509bdc5
Inserted auth tok with sig [b69fed2a22932ba4] into the user session keyring
INFO: Success! Private data mounted at [/tmp/ecryptfs.idv9OohY].
O caminho tmp
que ele envia conterá sua montagem criptografada.
ls -la /tmp/ecryptfs.idv9OohY
Isso deve mostrar seu caminho completo com conjuntos de permissões apropriados. Agora copie em algum lugar.
mkdir ~/Desktop/Recovered
sudo cp -Rv /tmp/ecryptfs.idv9OohY ~/Desktop/Recovered
No encerramento
BOA SORTE !!
Você deve ser capaz de usar isso para qualquer variante do Ubuntu, por exemplo, usei-o no Ubuntu e entre o Mint e o Lubuntu.
Se você está apenas encontrando esse segmento, a menos que você tenha usado senha especificamente como sua senha, esses valores hexadecimais não funcionarão.