Das verschlüsselte Home-Verzeichnis wird nicht automatisch bereitgestellt

10

Ich habe es irgendwie geschafft, die automatische Montage für mein verschlüsseltes Home-Verzeichnis zu unterbrechen.

Jedes Mal, wenn ich mich über SSH anmelde, sehe ich Folgendes:

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

Irgendwelche Ideen, was ich getan habe und wie ich es beheben kann?

AKTUALISIEREN:

Ich habe die SSH-Schlüsselauthentifizierung mit der hier beschriebenen Methode eingerichtet , was im Nachhinein der Grund für das nicht funktionierende verschlüsselte Home-Verzeichnis ist.

Meine neue Frage: Wie kann ich automatisch nach dem Kennwort fragen, nachdem ich mich mit dem SSH-Authentifizierungsschlüssel angemeldet habe?

Stephen RC
quelle
Werden Sie beim Anmelden zur Eingabe Ihres Anmeldekennworts aufgefordert? Gibt es eCryptfs-Nachrichten in Syslog?
Dustin Kirkland
@DustinKirkland, siehe mein Update in der Frage. Ich habe festgestellt, dass dies daran liegt, dass ich die SSH-Schlüsselauthentifizierung eingerichtet habe. Daher wird kein Kennwort abgefragt.
Stephen RC
aha, na dann ist es das ;-) Ich werde jetzt unten eine bessere Antwort posten.
Dustin Kirkland

Antworten:

28

Okay, während es möglich ist, sich mit SSH Public Key-Authentifizierung bei Ihrem System anzumelden, ohne ein Kennwort einzugeben (selbst wenn Ihr Home-Verzeichnis verschlüsselt ist), ist es nicht möglich, Ihr verschlüsseltes Home-Verzeichnis automatisch bereitzustellen.

Um dies zu lösen, müssen Sie am Ende Ihres nicht gemounteten $ HOME / .profile eine Zeile einfügen:

ecryptfs-mount-private

Dadurch wird sichergestellt, dass Sie nach der Anmeldung mit der Authentifizierung mit öffentlichem SSH-Schlüssel zur Eingabe Ihres Kennworts aufgefordert werden und Ihre verschlüsselten Daten bereitstellen. Wenn es bereits gemountet ist, sollte dieser Befehl nur stillschweigend erfolgreich sein.

Genießen!

Vollständige Offenlegung: Ich bin einer der Autoren und Betreuer von eCryptfs.

Dustin Kirkland
quelle
1
Super, danke, das macht genau das, was ich will :) Ich musste es auch cd /home/$HOMEin die .profile-Datei einfügen, um es zu aktualisieren, obwohl es entschlüsselt war.
Stephen RC
1
Nur zu erwähnen , dass , wenn Sie verwenden zshes sein muss ~/.zprofilestatt~/.profile
Timmy O'Mahony
Vielleicht hilft das anderen: Ich hatte ein Problem, bei ecryptfs-mount-privatedem scheinbar nichts getan wurde; nicht einmal nach einem Passwort fragen. Es stellte sich heraus, dass es funktioniert hatte und kein Passwort benötigte, da ich es bereits bei der Verwendung sudofür etwas anderes eingegeben hatte , aber ich musste das aktuelle Arbeitsverzeichnis aus /home/arthurund wieder zurück ändern, bevor ich meine Dateien sah.
Arthur Tacca
Vielen Dank an TimmyO'Mahony! Ich hätte zshes nicht freiwillig verwendet, aber es war eine brandneue Installation, und ich erinnere mich, dass ich meine .zsh-Geschichte nicht retten konnte ...
Auspex
2

Versuche Folgendes:

  1. Stellen Sie sicher, dass /etc/pam.d/common-sessiondiese Zeile enthält:

     # Encrypt home
     session    optional    pam_ecryptfs.so unwrap
    
  2. Stellen Sie sicher, dass /etc/pam.d/common-authdiese Zeile enthält:

     auth   optional    pam_ecryptfs.so unwrap
    
  3. Stellen Sie sicher, dass /etc/pam.d/sshddiese Zeilen enthalten:

     # Standard Un*x authorization.
     @include common-account
    
     # Standard Un*x session setup and teardown.
     @include common-session
    
  4. Wenn Sie das Kennwort Ihres Benutzers kürzlich geändert haben, überprüfen Sie /etc/pam.d/common-password

    Wenn es diese Zeile nicht enthält:

     password   optional    pam_ecryptfs.so
    

    Dann benötigen Sie Ihr altes Passwort, um ecryptfs neu zu konfigurieren.

    Mein Vorschlag ist, Ihr Konto auf Ihr vorheriges Passwort zu ändern, passwdindem Sie die obige Zeile hinzufügen /etc/pam.d/common-passwordund dann das Passwort wieder in das neue Passwort ändern.

    Alternativ können Sie dies versuchen:

    ecryptfs-setup-private

    Stellen Sie sicher, dass Sie dasselbe Kennwort wie das Kennwort Ihres Benutzers eingeben, wenn Sie dazu aufgefordert werden.

  5. Wenn keines der oben genannten Verfahren funktioniert, versuchen Sie es, ecryptfs-setup-privatemöglicherweise wird dadurch etwas behoben.

  6. Wenn es immer noch nicht funktioniert, habe ich leider keine Ideen mehr.

d_inevitable
quelle
All diese Konfiguration sieht gut aus. Überprüfen Sie die Aktualisierungen meiner Frage. Ich denke, dies liegt an der von mir eingerichteten SSH-Schlüsselauthentifizierung.
Stephen RC
Versuchen Sie , optionalzu requiredin common-account. Die Idee ist, dass pam wirklich nach einem Passwort fragen sollte, wenn es es nicht bekommt. Stellen Sie sicher, dass Sie eine offene Sitzung haben, damit Sie nicht riskieren, sich selbst auszusperren.
d_inevitable
Was meinst du mit "Common-Account"?
Peter Fleix
2

Indem Sie diese Anweisungen befolgen, die Sie in Ihrem Beitrag erwähnt haben, haben Sie sie speziell erstellt, damit Sie SSH in Ihr Konto aufnehmen können, ohne dass Ihr Home-Ordner bereitgestellt wird. Wenn Sie rückgängig machen, was Sie dort getan haben, und es wieder auf den vorherigen Stand zurücksetzen, müssen Sie bei der SSH-Eingabe Ihr Kennwort eingeben, wenn Ihr Home-Verzeichnis noch nicht entschlüsselt ist. (Wenn Ihr Home-Verzeichnis aufgrund einer anderen Sitzung bereits entschlüsselt ist, funktioniert Ihr SSH-Schlüssel perfekt für eine kennwortlose Verbindung!)

Andernfalls können Sie die Alternative ausführen, ecryptfs-mount-privatenachdem Sie sich mit Ihrem Schlüssel angemeldet haben, um Ihren Basisordner manuell zu entschlüsseln.

Macil
quelle
Gibt es eine Möglichkeit, ecryptfs-mount-privateautomatisch ausgeführt zu werden, wenn ich mich anmelde?
Stephen RC
Aktualisieren Sie einfach den defekten Link "Diese Anweisungen", da ich ihn auf dem Wayback-Computer ausfindig machen musste : stephen.rees-carter.net/thought/… Zusätzliche Gedanken zum Artikel, auf den verwiesen wird: Anstatt autorisierte_Tasten als /home/.ssh/ zu speichern. % u, speichern Sie autorisierte Schlüssel in /home/.ssh/%u/authorized_keys, wobei /home/.ssh/%u/% u:% u mit 700 Dauerwellen gehört und die Datei% u mit 600 Dauerwellen gehört.
Jeremy Lyons
@StephenRC erstellt ein ~ / .profile, das ecryptfs-mount-private in Ihrem unverschlüsselten Ausgangsverzeichnis ausführt.
Jeremy Lyons