Zaszyfrowany katalog domowy nie jest automatycznie montowany

10

Jakoś udało mi się przerwać automatyczne montowanie mojego zaszyfrowanego katalogu domowego.

Za każdym razem, gdy loguję się przez SSH, widzę to:

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

Jakieś pomysły, co zrobiłem i jak to naprawić?

AKTUALIZACJA:

Skonfigurowałem uwierzytelnianie klucza SSH przy użyciu metody tutaj , która z perspektywy czasu jest przyczyną niedziałającego zaszyfrowanego katalogu domowego.

Tak więc, moje nowe pytanie, w jaki sposób mogę uzyskać automatyczne monitowanie o hasło po zalogowaniu się przy użyciu klucza autoryzacji SSH?

Stephen RC
źródło
Czy podczas logowania pojawia się monit o podanie hasła logowania? Czy w syslog są jakieś wiadomości eCryptfs?
Dustin Kirkland
@DustinKirkland, zobacz moją aktualizację w pytaniu. Uświadomiłem sobie, że dzieje się tak, ponieważ skonfigurowałem uwierzytelnianie klucza SSH ... więc nie jest wymagane podanie hasła.
Stephen RC
aha, cóż, więc o to chodzi ;-) Teraz opublikuję lepszą odpowiedź poniżej.
Dustin Kirkland

Odpowiedzi:

28

Ok, więc gdy jest to możliwe do korzystania z uwierzytelniania SSH klucza publicznego do zalogowania się do systemu bez wpisywania hasła (nawet jeśli Twój katalog domowy jest szyfrowana), to nie można automatycznie zamontować zaszyfrowany katalog domowy.

Aby rozwiązać ten problem, musisz dodać linię na końcu odmontowanego $ HOME / .profile:

ecryptfs-mount-private

Zapewni to, że po zalogowaniu przy użyciu uwierzytelniania za pomocą klucza publicznego SSH pojawi się monit o podanie hasła i zamontowanie zaszyfrowanych danych. Jeśli jest już zamontowany, to polecenie powinno po prostu cicho się powieść.

Cieszyć się!

Pełne ujawnienie: jestem jednym z autorów i opiekunów eCryptfs.

Dustin Kirkland
źródło
1
Wspaniale, dziękuję, to robi dokładnie to, co chcę :) Musiałem również dodać cd /home/$HOMEdo pliku .profile, aby go odświeżyć, gdy już go odszyfrowałem.
Stephen RC
1
Wystarczy wspomnieć, że jeśli zshgo używasz , musi być ~/.zprofilezamiast~/.profile
Timmy O'Mahony
Może to pomoże innym: Miałem problem, w którym ecryptfs-mount-privatewydawało się, że nic nie robię; nawet nie pytaj o hasło. Okazuje się, że zadziałało i nie potrzebowałem hasła, ponieważ już je wprowadziłem, używając sudoczegoś innego, ale musiałem zmienić bieżący katalog roboczy z /home/arthurpowrotem i ponownie, zanim zobaczyłem moje pliki.
Arthur Tacca
Dziękuję @ TimmyO'Mahony! Nie używałbym z wyboru, zshale była to zupełnie nowa instalacja i przypominam sobie, że nie mogła zapisać mojej historii .zsh ...
Auspex
2

Spróbuj wykonać następujące czynności:

  1. Upewnij się, że /etc/pam.d/common-sessionzawiera ten wiersz:

     # Encrypt home
     session    optional    pam_ecryptfs.so unwrap
    
  2. Upewnij się, że /etc/pam.d/common-authzawiera ten wiersz:

     auth   optional    pam_ecryptfs.so unwrap
    
  3. Upewnij się, że /etc/pam.d/sshd zawiera następujące wiersze:

     # Standard Un*x authorization.
     @include common-account
    
     # Standard Un*x session setup and teardown.
     @include common-session
    
  4. Jeśli ostatnio zmieniłeś hasło użytkownika, sprawdź /etc/pam.d/common-password

    Jeśli nie zawiera tej linii:

     password   optional    pam_ecryptfs.so
    

    Następnie potrzebujesz starego hasła, aby ponownie skonfigurować ecryptfs.

    Moja sugestia to zmiana konta na poprzednie hasło za pomocą, passwda następnie dodanie powyższej linii do, /etc/pam.d/common-passworda następnie zmiana hasła z powrotem na nowe hasło.

    Możesz też spróbować:

    ecryptfs-setup-private

    Po wyświetleniu monitu wprowadź hasło takie samo jak hasło użytkownika.

  5. Jeśli żadne z powyższych nie działa, spróbuj uruchomić, ecryptfs-setup-privatebyć może coś naprawi.

  6. Jeśli nadal nie działa, nie mam pomysłów, przepraszam.

d_inevitable
źródło
Cała ta konfiguracja wygląda dobrze. Sprawdź aktualizacje mojego pytania, myślę, że jest to spowodowane ustawionym przeze mnie uwierzytelnianiem klucza SSH.
Stephen RC
Spróbuj zmienić optionalsię requiredw common-account. Chodzi o to, aby pam naprawdę pytał o hasło, jeśli go nie otrzyma. Pamiętaj, aby zachować otwartą sesję, aby nie ryzykować zablokowania się.
d_inevitable
co rozumiesz przez „wspólne konto”?
Peter Fleix,
2

Postępując zgodnie z instrukcjami , o których wspomniałeś w swoim poście, zrobiłeś to specjalnie, abyś mógł SSH na swoim koncie bez montowania folderu domowego. Jeśli cofniesz to, co tam zrobiłeś, i przywrócisz to do tego, co było wcześniej, to po SSH będziesz zmuszony wprowadzić hasło, jeśli twój katalog domowy nie jest jeszcze odszyfrowany. (Jeśli Twój katalog domowy jest już odszyfrowany z powodu innej sesji, to Twój klucz SSH będzie działał idealnie dla połączenia bez hasła!)

W przeciwnym razie alternatywą jest uruchomienie ecryptfs-mount-privatepo zalogowaniu się za pomocą klucza, aby ręcznie odszyfrować folder domowy.

Macil
źródło
Czy istnieje sposób, aby ecryptfs-mount-privateuruchomić się automatycznie po zalogowaniu?
Stephen RC
Właśnie aktualizowałem „te instrukcje” zepsuty link, ponieważ musiałem go wyśledzić na maszynie Wayback: stephen.rees-carter.net/thought/... Dodatkowe przemyślenia na temat odnośnego artykułu: zamiast przechowywać klucze autoryzowane jako /home/.ssh/ % u, przechowuj klucze autoryzowane w /home/.ssh/%u/authorized_keys, gdzie /home/.ssh/%u/ jest własnością% u:% u z 700 perms, a plik jest własnością% u z 600 perms.
Jeremy Lyons,
@StephenRC utwórz plik ~ / .profile, który uruchamia ecryptfs-mount-private w niezaszyfrowanym katalogu domowym.
Jeremy Lyons,