web-dev-qa-db-ja.com

Windowsにecryptfsボリュームをマウントする

Linuxを持っています/homeecryptfsを使用して暗号化されたパーティション、Linuxインストールが機能しなくなったため、そのパーティションに保存されているファイルにWindowsからアクセスしたいと思います。これを可能にするツール/手順はありますか?

10
mdeous

eCryptfs は、Linuxカーネルに組み込まれたファイルシステムです。 Windows内からこのデータを復号化する方法はありません。

ただし、 ecryptfs-recover-private ユーティリティを使用して、Ubuntu LiveCDを起動し、データを復号化してリカバリすることができます(必要なキーがあると想定)。

完全な手順はここにあります:

完全な開示:私は eCryptfsの作成者および保守者の1人です。

10
Dustin Kirkland

Ecryptfsはカーネルモジュールとして書かれているので、これを行うための「ツール」は、まあ、Linuxカーネルです。

ただし、データをWindowsにコピーするか、Linuxから読み取る必要があります。

ありがたいことに、自動化ツールを使用して、いくつかの精通したWindowsシェルコマンドを使用して、WindowsでLinuxカーネルをダウンロード、インストール、セットアップ、および実行できます。 Vagrantは、WindowsとUbuntu間のフォルダーの共有を簡単に処理し、Windowsのいくつかのコマンドを使用してインストールできます

始める前に、暗号化されたファイル(メタディレクトリを含む)をext4パーティションからNTFSにコピーする場合は、 Disk Internals Linux Reader をお勧めしますが、UNIXに精通している場合はmountコマンドこのステップをスキップできます(私はmountコマンドよりもGUIの方が好きです)

インストール vagrant 公式インストーラー経由(チョコレートポートは推奨されません)

Windows管理者プロンプト(Windowsキーを押してコマンドを入力し、[管理者として実行]を右クリック):

インストール chocolatey 次に、adminコマンドプロンプトを再起動して、次のように入力します。

choco install Cygwin cyg-get

Cygwinプロンプト(Windowsキーを押してcygwinと入力)の場合:

cyg-get install 
# ASSUMING you copied all the decrypted files to windows, otherwise use mount method below
cd /cygdrive/c/<path to where encryptfs folder is located in windows>
# Either way:
vagrant init ubuntu/xenial64
vagrant up
vagrant ssh

これで、仮想マシンを介してubuntuシェルに入るはずです。

Sudo apt update
Sudo apt install ecrypt-utils tree -y

# At this point you can use mount command, or if you just have the raw files on disk:
cd /vagrant/.ecryptfs
ls
cd myusername
ls .Private

# Either way, let's decrypt
# This WILL fail the first time due a strange bug,
ecrypt-recover-private .Private

# We will start and cancel a mount to fix the bug. 
# Choose defaults for everything except passphrase (just press ENTER repeatedly)
Sudo mount -t ecryptfs .Private/ decrypted

# Then cancel the mount
Would you like to proceed with the mount (yes/no)? : no

# Now that we fixed the bug with a canceled mount, let's actually recover:
ecrypt-recover-private .Private

# Now that should succeed, so see your data with this
tree /tmp

これが失敗した場合は、ラップされたパスワードファイル(Sudo updatedb && locate wrapped-passphrase)があることを確認するか、または ラップされたパスフレーズをキーリングに挿入する を調べてください。

まだ問題がありますか?マウント方法を試してください。次のことをいじることもできます( 詳細はこちら ):Sudo mount -t ecryptfs /dev/mydevicehere decrypted ext4からNTFSにファイルをコピーせずにこのマウントを実行でき、いくつかの手順をスキップできることに注意してください。

成功したら、これらのファイルにWindowsからアクセスできるようにする場合は、cpコマンドを使用してそれらを/vagrantにコピーします。これにより、データが複製されることに注意してください。

出来た?ハッピー? exitと入力してUbuntu VMを終了し、vagrant haltと入力してシャットダウンし、vagrant destroyと入力してVM

0
Jonathan