2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ubuntu で ecryptfs で暗号化したディレクトリを リカバリ / recover する方法

Last updated at Posted at 2020-05-10

TL;DR

ある日メインPCのOSとして運用していたubuntu 18.04 LTSがエラーを吐いて起動しなくなりました。
こんなこともあろうかと、事前に用意していたUSBから起動するubuntuからfsckかけるものの、大量の破損ファイルが検出され、全て削除すると、今度は起動すら不可に。
こうなれば、/home 配下のファイルだけでも救い出して、ubuntu再インストールすればよいかと思いきや、 /homeを ecryptfsで暗号化していたため、単純に mount しても取り出せず。

これは、どうにかこうにか苦労して /homeを復旧した記録です。

復旧手順

レスキュー用ubuntuを起動する

まずは、なんらかの方法でレスキュー用ubuntuを起動してください。

私はWindows10から以下の手順で ブータブルUSBドライブを作成しました。

Linux UbuntuのブータブルUSBドライブを作成する手順
https://itlogs.net/ubuntu-bootable-usb/

これで作成したusbドライブでubuntuを起動します。
ちなみに私は吹っ飛んだOSとバージョンを合わせて18.04のブータブルUSBを作成しました。

ecryptfs-utilsをインストールする

ectyptfsを復旧するためのツールをインストールします。
まずは、 software & updates アプリを起動して、チェックがついていないパッケージをenableにします。
これでectyptfs-utilsがインストール可能になりましたので、すかさずインストール。

apt install ecryptfs-utils 

/homeが存在するファイルシステムをmountする

なにはともあれ、データが存在するデバイスをマウントします。
ファイルシステム名は頑張って調べてください。
最近主流であろうSSDなら以下のような名前のはずです。

/dev/nvme0p0 とかなんとか
sudo su -
mount /dev/[mountしたいファイルシステム名] /mnt

rootに 復旧用mount passphraseを設定する

突然ですが、ecryptfs は mount passphrase と login passpharse が存在します。

詳しくは、以下。

eCryptfs
https://wiki.archlinux.jp/index.php/ECryptfs

arch linuxさんには本当に感謝。
私みたいなライトなlinuxユーザーにはとても手は出せないですけれども。

まずは、mount passphraseを調べます。仮に対象のアカウントはhogeとします。

ecryptfs-unwrap-passphrase /mnt/home/.ecryptfs/hoge/.ecryptfs/wrapped-passphrase

ここで login passphraseを入力すると、mount passphraseが表示されるはずです。
すかさずメモります。

この mount passphraseをrootアカウントに設定します。

ecryptfs-add-passphrase --fnek

passphraseを求められるので、mount passphraseを入力します。

その他の質問には、以下。

Accept the default cipher and key size values (aes and 16).
Type n for plaintext passthrough.
Type y for filename encryption.

mount!

これで準備が整ったので、mountします。

ecryptfs-recover-private /mnt/home/.ecryptfs/hoge/.Private

/tmp/[ランダムな文字列のディレクトリ] に複合されたディレクトリがマウントされるので、存分にサルベージしてください。
ちなみに、私がサルベージしたかったファイルは消えていました。。。

元々は以下の手順で試していたのですが、どうしてもうまくいかず、試行錯誤した結果、上記手順を編み出しました。
ecryptfsなんて20.04LTSじゃ使わないだろうし、超ニッチなノウハウですが、誰かの手助けになれば。

How to Recover an Encrypted Home Directory on Ubuntu
https://www.howtogeek.com/116297/how-to-recover-an-encrypted-home-directory-on-ubuntu/

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?