Répertoire d'accueil chiffré non monté automatiquement

10

J'ai réussi à casser le montage automatique de mon répertoire personnel chiffré.

Chaque fois que je me connecte via SSH, je vois ceci:

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

Avez-vous des idées sur ce que j'ai fait et comment y remédier?

METTRE À JOUR:

J'ai configuré l'authentification par clé SSH en utilisant la méthode ici , ce qui, avec le recul, est la raison pour laquelle le répertoire personnel chiffré ne fonctionne pas.

Donc, ma nouvelle question, comment puis-je l'obtenir pour demander automatiquement le mot de passe après avoir ouvert une session avec la clé d'authentification SSH?

Stephen RC
la source
Êtes-vous invité à entrer votre mot de passe de connexion lorsque vous vous connectez? Y a-t-il des messages eCryptfs dans syslog?
Dustin Kirkland
@DustinKirkland, voir ma mise à jour dans la question. J'ai réalisé que c'était parce que j'avais configuré l'authentification par clé SSH ... donc il n'y a pas de mot de passe demandé.
Stephen RC
aha, eh bien c'est tout ;-) Je vais poster une meilleure réponse ci-dessous, maintenant.
Dustin Kirkland

Réponses:

28

D'accord, même s'il est possible d'utiliser l'authentification par clé publique SSH pour vous connecter à votre système sans entrer de mot de passe (même si votre répertoire personnel est crypté), il n'est pas possible de monter automatiquement votre répertoire personnel crypté.

Pour résoudre ce problème, vous devrez ajouter une ligne à la fin de votre $ HOME / .profile non monté :

ecryptfs-mount-private

Cela garantira qu'après vous être connecté à l'aide de l'authentification par clé publique SSH, vous serez invité à entrer votre mot de passe et monterez vos données cryptées. S'il est déjà monté, cette commande devrait réussir en silence.

Prendre plaisir!

Divulgation complète: je suis l'un des auteurs et mainteneurs d'eCryptfs.

Dustin Kirkland
la source
1
Génial, merci, cela fait exactement ce que je veux :) J'ai aussi dû ajouter cd /home/$HOMEdans le fichier .profile, pour le rafraîchir une fois décrypté.
Stephen RC
1
Juste pour mentionner que si vous utilisez, zshcela doit être ~/.zprofileau lieu de~/.profile
Timmy O'Mahony
Peut-être que cela aidera les autres: j'ai eu un problème où il ecryptfs-mount-privatesemblait ne rien faire; pas même demander un mot de passe. Il s'est avéré que cela avait fonctionné et n'avait pas besoin d'un mot de passe parce que je l'avais déjà entré lors de l'utilisation sudopour autre chose, mais je devais changer le répertoire de travail actuel avant /home/arthuret en arrière avant de voir mes fichiers.
Arthur Tacca
Merci @ TimmyO'Mahony! Je n'aurais pas utilisé par choix, zshmais c'était une toute nouvelle installation, et je me souviens avoir vu que cela ne pouvait pas sauvegarder mon historique .zsh ...
Auspex
2

Essayez ce qui suit:

  1. Assurez-vous que /etc/pam.d/common-sessioncontient cette ligne:

     # Encrypt home
     session    optional    pam_ecryptfs.so unwrap
    
  2. Assurez-vous que /etc/pam.d/common-authcontient cette ligne:

     auth   optional    pam_ecryptfs.so unwrap
    
  3. Assurez-vous que /etc/pam.d/sshdcontient ces lignes:

     # Standard Un*x authorization.
     @include common-account
    
     # Standard Un*x session setup and teardown.
     @include common-session
    
  4. Si vous avez récemment modifié le mot de passe de votre utilisateur, vérifiez /etc/pam.d/common-password

    S'il ne contient pas cette ligne:

     password   optional    pam_ecryptfs.so
    

    Ensuite, vous avez besoin de votre ancien mot de passe pour reconfigurer ecryptfs.

    Ma suggestion est de changer votre compte en votre ancien mot de passe en utilisant passwdpuis en ajoutant la ligne ci-dessus /etc/pam.d/common-passwordet en changeant ensuite le mot de passe au nouveau mot de passe.

    Vous pouvez également essayer ceci:

    ecryptfs-setup-private

    Assurez-vous de saisir le même mot de passe que le mot de passe de votre utilisateur lorsque vous y êtes invité.

  5. Si aucun des éléments ci-dessus ne fonctionne, essayez de l'exécuter, ecryptfs-setup-privatecela corrigera peut-être quelque chose.

  6. Si cela ne fonctionne toujours pas, je suis à court d'idées, désolé.

d_inevitable
la source
Toute cette configuration semble bonne. Vérifiez les mises à jour de ma question, je pense que cela est dû à l'authentification par clé SSH que j'ai configurée.
Stephen RC
Essayez de changer optionalà requireden common-account. L'idée est que pam devrait vraiment demander un mot de passe s'il ne l'obtient pas. Assurez-vous de garder une session ouverte afin de ne pas risquer de vous enfermer.
d_inevitable
qu'entendez-vous par "compte commun"?
Peter Fleix
2

En suivant ces instructions que vous avez mentionnées dans votre message, vous l'avez fait spécifiquement pour que vous puissiez SSH dans votre compte sans que votre dossier personnel soit monté. Si vous annulez ce que vous avez fait là-bas et que vous le remettez à ce qu'il était auparavant, alors lorsque vous vous connecterez SSH, vous serez obligé de saisir votre mot de passe si votre répertoire personnel n'est pas déjà déchiffré. (Si votre répertoire personnel est déjà déchiffré à cause d'une autre session, votre clé SSH fonctionnera parfaitement pour une connexion sans mot de passe!)

Sinon, l'alternative est de s'exécuter ecryptfs-mount-privateaprès vous être connecté avec votre clé pour décrypter manuellement votre dossier de départ.

Macil
la source
Existe-t-il un moyen de ecryptfs-mount-privates'exécuter automatiquement lorsque je me connecte?
Stephen RC
Juste mettre à jour le lien brisé «ces instructions», car je devais le retrouver sur la machine Wayback: stephen.rees-carter.net/thought/… Réflexions supplémentaires sur l'article référencé: au lieu de stocker les clés autorisées sous /home/.ssh/ % u, stockez les clés autorisées dans /home/.ssh/%u/authorized_keys où /home/.ssh/%u/ appartient à% u:% u avec 700 perms et le fichier appartient à% u avec 600 perms.
Jeremy Lyons
@StephenRC crée un ~ / .profile qui exécute ecryptfs-mount-private dans votre répertoire personnel non chiffré.
Jeremy Lyons