Acabo de instalar un servidor con ubuntu Server 15.04. Mi carpeta de usuario la cifré en el momento de la instalación (cosas de mi paranoia, por si tengo que guardar en ella cosas importantes) y comencé a configurar los accesos mediante ssh en los ordenadores que quiero que se conecten al mismo. La idea es la de sincronizar las carpetas de usuarios mediante rsync. Para hacerlo bien, quería que la conexión fuese mediante certificado, sin tener que poner contraseñas. Para copiar los archivos que tengo en cuatro ordenadores es la mejor opción.
Mi sorpresa fue que al configurar el primero, con el consabido ssh-copy id usuario@ip remota -p puerto, el servidor me devolvió un mensaje diciéndome que no podía crear el directorio .ssh que es donde se guardan los certificados para las conexiones remotas. Sorprendido que como usuario en mi propio directorio no pudiera crear directorio nuevos, accedí al mismo y comprobé, desesperado, que era así. No podía usar mi carpeta de usuario. El problema, según el servidor, se exponía con el siguiente mensaje:
signature not found in user keyring perhaps try the interactive 'ecryptfs-mount-private'
Parece ser que se había perdido mi contraseña de cifrado. Cuando cifras una carpeta de usuario, la palabra de paso, al menos en Ubuntu, es la misma que la contraseña de usuario, de tal manera, que accediendo normalmente, se descifra la carpeta y puedes usarla con normalidad. Si alguien quisiera acceder al ordenador sin la contraseña, o pinchando el disco duro en otro dispositivo, comprobaría que a mis documentos no podría acceder, ya que estos están cifrados. El problema era que ahora estaban también cifrados para mí.
No comprendía donde había estado el fallo. Finalmente, en los foros de Ubuntu hallé la solución: Cuando realicé la instalación, me confundí con el tipo de teclado y con el teclado mal configurado, creé mi contraseña de usuario. Después, solucioné la configuración del teclado, y comprobando que la contraseña era distinta a la que yo quería usar, la cambié por la correcta. En resumen, había cambiado la contraseña de usuario. Esto, que es frecuente, puede resultar peligroso si tienes la carpeta de usuario cifrada, pues el código de cifrado sigue siendo el original. Así, podrás acceder al sistema con tu nueva contraseña, pero no podrás crear directorios ni documentos porque a tu carpeta no tienes acceso. ¡Un lío, vamos!
La solución:
Introducimos el siguiente comando (todo en una sola línea, está acortado para que quede bien en el texto):
ecryptfs-rewrap-passphrase
/home/.ecryptfs/$USER/.ecryptfs/wrapped-passphrase
el programa nos pedirá la contraseña de cifrado antigua, y luego, dos veces la nueva (y aquí pondremos la que hemos cambiado como usuario, para que ambas sean la misma) y listo. Ya podemos acceder y usar nuestra carpeta con normalidad. ¡Vaya susto!