コマンドecryptfs-mount-private
で正しいパスフレーズを入力すると、次のエラーが表示されます。
torben@torben-nettop:~$ Sudo ecryptfs-recover-private
INFO: Searching for encrypted private directories (this might take a while)...
INFO: Found [/media/0f417b42-11a0-4539-9cae-e11ce3b289c3/home/.ecryptfs/
torben/.Private].
Try to recover this directory? [Y/n]: y
INFO: Enter your LOGIN passphrase...
Passphrase:
Error: Unwrapping passphrase and inserting into the user session keyring
failed [-5]
Info: Check the system log for more information from libecryptfs
torben@torben-nettop:~$
Syslogには次の情報があります。
ecryptfs-insert-wrapped-passphrase-into-keyring:
Incorrect wrapping key for file [/home/torben/.ecryptfs/wrapped-passphrase]
ecryptfs-insert-wrapped-passphrase-into-keyring: Error attempting to unwrap
passphrase from file [/home/torben/.ecryptfs/wrapped-passphrase]; rc = [-5]
->正しいパスフレーズを入力していると確信している場合、暗号化されたホームフォルダーを読み取れるようにこの問題を修正するにはどうすればよいですか?
背景:
更新:2018年6月19日
最近、外部ドライブから一部のデータを復号化しようとしたときに、同様のエラーが発生していました。エラーメッセージが無効なパスワードからのものであるたびに、これを終日複製できます。代わりにecryptfs-recover-privateを使用していましたecryptfs-unwrap-passphraseを使用していました。
注:これはコピー/貼り付けのガイドではなく、私の成功の記録です。
wrapped-passphrase
ファイルを見つける必要があります。どこにあるかわからない場合は、find
を使用できます。ボリュームをマウントしたら、次のことができます。
Sudo find /media -name wrapped-passphrase
以下にリストされている私のパスを返すパスに置き換えたいと思うでしょう。
古いドライブをマウントした後の私の手順。
cd /media/_UUID_/.ecryptfs/paulj/.encryptfs
ecryptfs-unwrap-passphrase ./wrapped-passphrase
Passphrase:
常にパスフレーズの入力を求められます。これは、Ubuntuのインストール時に暗号化されたホームディレクトリを作成したときに最初に設定されたパスワードです。セットアップでは、ログインパスワードとは異なるパスワードを使用することを強くお勧めします...過去1時間ログインパスワードを試して失敗した場合は、別のパスワードを試してください..めったに使用しないパスワードを試してください.
私は私のものを忘れていた、私は私のすべての私の素晴らしいパスワードを試してみました、そして私はこのエラーメッセージを受け取り続けました:
Error: Unwrapping passphrase failed [-5]
Info: Check the system log for more information from libecryptfs
Googleを約1時間検索した後、パスワードが間違っていることがわかっていたので、パスフレーズプロンプトでpasswordと入力しました。
以下が吐き出されました:
116b053e08564b53b2967e64e509bdc5
Ecryptfs-unwrap-passphraseを再実行し、別のパスワードを試してみると、上記と同じ-5エラーメッセージが表示されました。パスフレーズをpasswordに実際に設定したのは、おそらく過去にubuntuでデータを復号化することに不満があったためです。
パスフレーズをecryptfs-add-passphrase
に追加するには、前の手順で生成されたパスフレーズを使用します。
Sudo ecryptfs-add-passphrase --fnek
Passphrase: 116b053e08564b53b2967e64e509bdc5
出力:
Inserted auth tok with sig [b69fed2a22932ba4] into the user session keyring
Inserted auth tok with sig [8aad0fb4482edab3] into the user session keyring
この時点で2つのオプションがあります。マウントを試みることをお勧めします。マウントできない場合は、リカバリを試みてください。
.Private
ディレクトリをマウントされていないボリュームと考えるのは簡単です。
ここでも、独自のディレクトリを指定する必要があります。
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
暗号化されたドライブを最初に作成したときに、暗号またはキーバイトをいじらないでください。
古いホームディレクトリ内のすべてのデータを表示します。
cd /home/paulj/Private
ls -la
注:この時点で、無効な許可/所有者/グループセットを取得した場合は、ドライブをアンマウントし、[回復]セクションまでスキップします。
適切な許可セットを取得する場合、そのジャンクを暗号化されたドライブからデスクトップにコピーします。
mkdir ~/Desktop/Backup
cp -Rv ./* ~/Desktop/Backup
Ecryptfsを正常にマウントできないことがわかりました。 ls
は、無効な許可/所有者/グループ設定を表示していました。次のように見えました。
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
なぜmount
の使用で問題が発生したのかわからないので、ecryptfs-recover-private
をいじり始め、運がよかった。
繰り返しますが、上から独自に生成したパスフレーズを使用する必要があります。ここで--rw
スイッチを使用してマウントを読み取り/書き込みにしたことに注意してください。スイッチを省略すると、読み取り専用でマウントされます。
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].
出力されるtmp
パスには、暗号化されたマウントが含まれます。
ls -la /tmp/ecryptfs.idv9OohY
これにより、適切な許可セットを含む完全なパスが表示されます。それをどこかにコピーします。
mkdir ~/Desktop/Recovered
Sudo cp -Rv /tmp/ecryptfs.idv9OohY ~/Desktop/Recovered
幸運!!
これは、Ubuntuのすべてのバリアントに使用できるはずです。たとえば、UbuntuとMintおよびLubuntuの間で使用しました。
このスレッドを見つけているだけであれば、パスフレーズとしてpasswordを特に使用していない限り、これらの16進値は機能しません。
これは自分で修正する試みです:
ダスティンカークランド 2008年に書きました :
[...]間違ったログインパスワードでマウントパスフレーズをアンラップしようとしています。現在のパスワードと新しいパスワード、または使用した可能性のあるパスワードの両方を試すことができます。マウントパスフレーズを正常にアンラップできたら、マウントを実行できるはずです。
新しいシステムのログインユーザー名とログインパスワードは、古いシステムのものと同じです。私はパスフレーズを書き留めており、それが正しいことを知っています(私の質問の証明を参照)。
この同様の問題は、チェックアウトする価値があるかもしれません: 古い暗号化されたホームをマウントしようとしています
また、新しいシステム上の何かが正しく機能していない可能性があります。これを除外するには、LiveCDで起動し、そこから試してください。
...私が進むにつれて更新される!
それが助けになるとしたら、同様の問題(ホームディレクトリの復号化中にコード-5
)に直面している間に、.ecryptfs
と.Private
の下のいくつかのファイルが所有していないことがわかりました私のユーザーアカウントではなく、ルートによって。
これは、ecryptfs-rewrap-passphrase
をrootとして実行したため、重要なファイルが自分のアカウントからロックされたために発生しました。
したがって、ユーザーアカウントでecryptfs-mount-private
を実行すると、一部のファイル(つまり.ecryptfs/wrapped-passphrase
)の読み取りと書き込みが拒否されたため、失敗しました。
Sudo chown -R USER:USER /home/USER/.ecryptfs /home/USER/.Private
を実行して問題を解決しました。 USER
を実際のアカウント名に置き換えます。 YMMV
パスワードが機能しない場合(私はパスワードを変更していませんでしたが)、バックアップパスフレーズを使用してアクセスできました。パスワードを知っているかどうかにノーと答え、最初のブート時に受け取って書き留めた32桁の長い16進数を入力しました。
これは推測よりも簡単な場合があります。