web-dev-qa-db-ja.com

パスフレーズのラップ解除とユーザーセッションキーリングへの挿入に失敗しました

コマンド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]

->正しいパスフレーズを入力していると確信している場合、暗号化されたホームフォルダーを読み取れるようにこの問題を修正するにはどうすればよいですか?

背景:

  • Ubuntu 11.04を新しいドライブにインストールし、暗号化されている古いパスからホームフォルダーをコピーしたい(パスフレーズがあります)。
  • チャットのMarco Ceppi の助けを借りて、昨日 これらの正確な手順 に従い、暗号化されたホームフォルダーへのアクセスに成功しました。これは、私のパスフレーズが実際に機能することを証明しています。
  • 次に、古い暗号化されたホームフォルダーから新しい暗号化されていないホームフォルダーへのコピーでマシンを起動し、就寝しました。コンピューターに戻ったとき、私はそれがそれ自身を中断したのを見ました:(そしてフォルダーのコピーを終了していませんでした。
  • コンピューターを再起動し、一時/ recoveryフォルダーを削除してから、まったく同じ手順を再度実行しましたが、上記のエラーが発生しました。これを数回試しました。常に同じ結果。パスフレーズを正しく入力していると確信しています。

更新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進値は機能しません。

12
Paul J

これは自分で修正する試みです:

  1. ダスティンカークランド 2008年に書きました

    [...]間違ったログインパスワードでマウントパスフレーズをアンラップしようとしています。現在のパスワードと新しいパスワード、または使用した可能性のあるパスワードの両方を試すことができます。マウントパスフレーズを正常にアンラップできたら、マウントを実行できるはずです。

  2. 新しいシステムのログインユーザー名とログインパスワードは、古いシステムのものと同じです。私はパスフレーズを書き留めており、それが正しいことを知っています(私の質問の証明を参照)。

  3. この同様の問題は、チェックアウトする価値があるかもしれません: 古い暗号化されたホームをマウントしようとしています

  4. また、新しいシステム上の何かが正しく機能していない可能性があります。これを除外するには、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

0
Dreadlockyx

パスワードが機能しない場合(私はパスワードを変更していませんでしたが)、バックアップパスフレーズを使用してアクセスできました。パスワードを知っているかどうかにノーと答え、最初のブート時に受け取って書き留めた32桁の長い16進数を入力しました。

これは推測よりも簡単な場合があります。

0
Guest