El directorio de inicio cifrado no se monta automáticamente

10

De alguna manera logré romper el auto-montaje para mi directorio de inicio encriptado.

Cada vez que inicio sesión a través de SSH, veo esto:

valorin@joshua:~$ ls -la
total 44
dr-x------ 3 valorin valorin  4096 2012-03-17 17:10 .
drwxr-xr-x 7 root    root     4096 2012-03-17 11:45 ..
lrwxrwxrwx 1 valorin valorin    56 2012-03-08 20:37 Access-Your-Private-Data.desktop -> /usr/share/ecryptfs-utils/ecryptfs-mount-private.desktop
-rw------- 1 valorin valorin   917 2012-03-17 19:24 .bash_history
drwx------ 3 valorin valorin  4096 2012-03-16 17:58 .cache
lrwxrwxrwx 1 valorin valorin    33 2012-03-08 20:37 .ecryptfs -> /home/.ecryptfs/valorin/.ecryptfs
-rw-r--r-- 1 root    root    21954 2012-03-08 20:35 .face
lrwxrwxrwx 1 valorin valorin    32 2012-03-08 20:37 .Private -> /home/.ecryptfs/valorin/.Private
lrwxrwxrwx 1 valorin valorin    52 2012-03-08 20:37 README.txt -> /usr/share/ecryptfs-utils/ecryptfs-mount-private.txt
-rw------- 1 root    root      703 2012-03-17 17:10 .viminfo

¿Alguna idea de lo que he hecho y cómo puedo solucionarlo?

ACTUALIZAR:

He configurado la autenticación de clave SSH usando el método aquí , que en retrospectiva es la razón del directorio de inicio cifrado que no funciona.

Entonces, mi nueva pregunta, ¿cómo hago para que solicite automáticamente la contraseña después de haber iniciado sesión con la clave de autenticación SSH?

Stephen RC
fuente
¿Se le solicita su contraseña de inicio de sesión cuando inicia sesión? ¿Hay mensajes de eCryptfs en syslog?
Dustin Kirkland el
@DustinKirkland, vea mi actualización en la pregunta. Me di cuenta de que es porque configuré la autenticación de clave SSH ... por lo que no se solicita una contraseña.
Stephen RC
aha, bueno, eso es todo ;-) Publicaré una mejor respuesta a continuación, ahora.
Dustin Kirkland

Respuestas:

28

Está bien, lo que si bien es posible utilizar la autenticación de clave pública SSH para acceder a su sistema sin introducir una contraseña (incluso si el directorio inicial es encriptada), es que no es posible montar automáticamente su directorio personal cifrado.

Para solucionar esto, tendrá que añadir una línea al final de su desmontado $ HOME / .profile:

ecryptfs-mount-private

Esto asegurará que después de iniciar sesión con la autenticación de clave pública SSH, se le solicitará su contraseña y montará sus datos cifrados. Si ya está montado, entonces este comando debería tener éxito silenciosamente.

¡Disfrutar!

Divulgación completa: soy uno de los autores y mantenedores de eCryptfs.

Dustin Kirkland
fuente
1
Impresionante, gracias, eso hace exactamente lo que quiero :) También tuve que agregar cd /home/$HOMEal archivo .profile para actualizarlo, aunque una vez que se había descifrado.
Stephen RC
1
Solo para mencionar que si lo está usando zshdebe ser en ~/.zprofilelugar de~/.profile
Timmy O'Mahony
Tal vez esto ayude a otros: tuve un problema en el que ecryptfs-mount-privateparecía no hacer nada; Ni siquiera pidas una contraseña. Resulta que funcionó, y no necesitaba una contraseña porque ya la había ingresado mientras usaba sudopara otra cosa, pero necesitaba cambiar el directorio de trabajo actual de /home/arthurnuevo antes de ver mis archivos.
Arthur Tacca
Gracias @ TimmyO'Mahony! Por elección no hubiera estado usando, zshpero era una instalación completamente nueva, y recuerdo haber visto que no podía salvar mi historial .zsh ...
Auspex
2

Intenta lo siguiente:

  1. Asegúrese de que /etc/pam.d/common-sessioncontiene esta línea:

     # Encrypt home
     session    optional    pam_ecryptfs.so unwrap
    
  2. Asegúrese de que /etc/pam.d/common-authcontiene esta línea:

     auth   optional    pam_ecryptfs.so unwrap
    
  3. Asegúrese de que /etc/pam.d/sshdcontiene estas líneas:

     # Standard Un*x authorization.
     @include common-account
    
     # Standard Un*x session setup and teardown.
     @include common-session
    
  4. Si ha cambiado la contraseña de su usuario recientemente, verifique /etc/pam.d/common-password

    Si no contiene esta línea:

     password   optional    pam_ecryptfs.so
    

    Entonces necesita su contraseña anterior para reconfigurar ecryptfs.

    Mi sugerencia es cambiar su cuenta a su contraseña anterior usando passwdy luego agregando la línea anterior /etc/pam.d/common-passwordy luego volviendo a cambiar la contraseña a la nueva contraseña.

    Alternativamente, puedes probar esto:

    ecryptfs-setup-private

    Asegúrese de ingresar la misma contraseña que la contraseña de su usuario cuando se le solicite.

  5. Si nada de lo anterior funciona, intente ejecutar, ecryptfs-setup-privatetal vez solucionará algo.

  6. Si todavía no funciona, entonces se me acabaron las ideas, lo siento.

d_inevitable
fuente
Toda esa configuración se ve bien. Verifique las actualizaciones de mi pregunta, creo que se debe a la autenticación de clave SSH que he configurado.
Stephen RC
Intenta cambiar optionala requiredin common-account. La idea es que pam realmente debería solicitar una contraseña si no la obtiene. Asegúrese de mantener una sesión abierta para que no se arriesgue a bloquearse.
d_inevitable
¿Qué quieres decir con "cuenta común"?
Peter Fleix
2

Siguiendo estas instrucciones que mencionó en su publicación, lo hizo específicamente para que pueda ingresar SSH a su cuenta sin que se monte su carpeta de inicio. Si deshace lo que hizo allí y lo vuelve a poner como estaba antes, cuando ingrese SSH, se verá obligado a ingresar su contraseña si su directorio de inicio aún no está descifrado. (Si su directorio de inicio ya está descifrado debido a otra sesión, ¡su clave SSH funcionará perfectamente para una conexión sin contraseña!)

De lo contrario, la alternativa es ejecutar ecryptfs-mount-privatedespués de iniciar sesión con su clave para descifrar manualmente su carpeta de inicio.

Macil
fuente
¿Hay alguna forma de ecryptfs-mount-privateejecutarse automáticamente cuando inicio sesión?
Stephen RC
Simplemente actualicé el enlace roto de "estas instrucciones", ya que tuve que rastrearlo en la máquina Wayback: stephen.rees-carter.net/thought/… Reflexiones adicionales sobre el artículo referenciado: en lugar de almacenar autorizadas_claves como /home/.ssh/ % u, almacene claves autorizadas en /home/.ssh/%u/authorized_keys donde /home/.ssh/%u/ es propiedad de% u:% u con 700 permisos, y el archivo es propiedad de% u con 600 permisos.
Jeremy Lyons
@StephenRC crea un ~ / .profile que ejecuta ecryptfs-mount-private en tu directorio de inicio sin encriptar.
Jeremy Lyons