NB: This answer is correct, but another - newer and faster - way exists requiring only a single step with ecryptfs-recover-private
. Make sure to check all answers below.
To get access to the data on your stick and to copy files onto it you need to mount the eCryptfs. This involves several steps:
First you should insert your stick. If Ubuntu doesn't mount it automatically (It usually does.), you should mount it.
Now you should find a directory called .Private
. If you did a default installation, this directory should sit in /media/DISK/home/.ecryptfs/USERNAME/.Private
. In this example DISK
is the directory where your stick is mounted and USERNAME
is the name of the user you entered at installation. If you can't find it yourself open a terminal and enter
sudo find /media -type d -name .Private
I assume in the following steps that the directory is in /media/DISK/home/.ecryptfs/USERNAME/.Private
.
You need the mount password. This is different from your login pasword. Enter the following command into a terminal:
ecryptfs-unwrap-passphrase /media/DISK/home/.ecryptfs/USERNAME/.ecryptfs/wrapped-passphrase
You have to enter the login password from the installation of your USB-Ubuntu (not your usual password). The command outputs a passphrase. Write this down or copy it into a file.
The password enables you to unlock the directory. You need to do it in two steps:
> sudo ecryptfs-add-passphrase --fnek
Inserted auth tok with sig [123456789abcdef0] into the user session keyring
> sudo mount -t ecryptfs /media/DISK/home/.ecryptfs/USERNAME/.Private /media/myUSB
The first command adds your passphrase to the kernel keyring and the second tries to mount your .Private
to the directory /media/myUSB
. If the latte doesn't exist, you have to create it first:
sudo mkdir /media/myUSB
The mount
command will ask again for the login password. Next it will ask for a bunch of stuff.
- Accept the default cipher and key size values (
aes
and 16
).
- Type
n
for plaintext passthrough.
- Type
y
for filename encryption.
- The last thing is the FileName Encryption Key (FNEK). Look at the output of the
ecryptfs-add-passphrase --fnek
command you just typed. There are two lines starting with Inserted auth tok …
. Insert the value in square brackets of the second output (123456789abcdef0
).
Now you can access the files in /media/myUSB
and can copy from and to the directory or subdirectories.
A large part of my description is from "Live CD method of opening a encrypted home directory".
There is a few things you can try. The error message you get is itself helpful: the directory is not mounted.
If you get this type of files CRYPTFS_FNEK_ENCRYPTED.[some code here]
in fact the decryption was not succesful. That means something went wrong in the decryption process (usually the problem is related to the settings you provide in the prompt). Make sure to type the full passphrase in gedit and copy it from there. I once already spend two days figuring out what went wrong decrypting and for some reason I had a tiny mistake (O as 0) in the passphrase.
You can also give this command a try:
mount -t ecryptfs [SRC DIR] [DST DIR] -o [OPTIONS]
This will do the mounting and decrypting for you. Read more here and don't stick too close to that tutorial you mention.
BTW: Is your username the same as on the old system?
Best Answer
Or you can use the
ecryptfs-recover-private
tool now included in Ubuntu 11.04:Recover your Encrypted Private Directory