I spent hours on this problem not understanding why these simple commands did not work.
I found, there are misleading links in .../home/.ecryptfs and .../home/.ecryptfs /username/.ecryptfs.
EDIT: the following solution needs to be confirmed.
The relink may not be mandatory, but the parameters given to ecryptfs-recover-private
may be of source of the issue.
My solution was to relink with relative path the file .Private and .ecryptfs in /home/.ecryptfs/
To elaborate:
In my case the home user I wanted to read was in /mnt/sda5/home and user was guy
$ cd /mnt/sda5/home
$ ls -lag .ecryptfs/guy/
drwxr-xr-x 4 guy 4096 .
drwxr-xr-x 3 root 4096 ..
drwx------ 16 guy 4096 .Private
drwx------ 2 guy 4096 .ecryptfs
$ ls -lag .ecryptfs/guy/.ecryptfs/
drwx------ 2 guy 4096 Jan 1 00:12 .
drwxr-xr-x 4 guy 4096 Jan 1 00:11 ..
-rw------- 1 guy 13 Jan 1 00:11 Private.mnt
-rw------- 1 guy 34 Jan 1 00:11 Private.sig
-rw-r--r-- 1 guy 0 Jan 1 00:11 auto-mount
-rw-r--r-- 1 guy 0 Jan 1 00:11 auto-umount
-rw------- 1 guy 58 Jan 1 00:12 wrapped-passphrase
#This were the data are stored
If you list the files in the home directory, your have the following links (berefore my correction)
$ ls -lag guy/
lrwxrwxrwx 1 root 28 Jan 2 15:52 .Private -> /home/guy/.Private
lrwxrwxrwx 1 root 29 Jan 2 15:49 .ecryptfs -> /home/guy/.ecryptfs
so the files are linking to the current /home and user and not the ones you are trying to read, confusing you and the mounting commands.
After correction I implemented:
$ ls -lag guy/
dr-x------ 2 guy 4096 Jan 2 15:52 .
drwxr-xr-x 6 root 4096 Jan 1 00:11 ..
lrwxrwxrwx 1 root 28 Jan 2 15:52 .Private -> ../.ecryptfs/guy/.Private
lrwxrwxrwx 1 root 29 Jan 2 15:49 .ecryptfs -> ../.ecryptfs/guy/.ecryptfs
lrwxrwxrwx 1 guy 56 Jan 1 00:11 Access-Your-Private-Data.desktop -> /usr/share/ecryptfs-utils/ecryptfs-mount-private.desktop
lrwxrwxrwx 1 guy 52 Jan 1 00:11 README.txt -> /usr/share/ecryptfs-utils/ecryptfs-mount-private.txt
My solution was to relink with relative path the file .Private and .ecryptfs
$ cd /mnt/sda5/home
$ cd guy
$ sudo unlink .Private
$ sudo unlink .ecryptfs
$ sudo ln -sr ../.ecryptfs/guy/.Private
$ sudo ln -sr ../.ecryptfs/guy/.ecryptfs
After you can mount manually the home directory manually or using
cd /mnt/sda5/home
sudo ecryptfs-recover-private .ecryptfs/guy/.ecryptfs/.Private
(you will need your MOUNT passphrase - a serie of 32 characters-)