Зашифрований домашній каталог не монтується автоматично


10

Мені якось вдалося зламати автоматичне встановлення для мого зашифрованого домашнього каталогу.

Кожен раз, коли я входжу через SSH, я бачу таке:

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

Будь-які ідеї, що я зробив, і як це можна виправити?

ОНОВЛЕННЯ:

Я встановив автентифікацію ключа SSH, використовуючи тут метод , який заднім числом є причиною непрацюючого зашифрованого домашнього каталогу.

Отже, моє нове запитання, як змусити його автоматично запитувати пароль після входу в систему за допомогою ключа авторизації SSH?


Чи буде запропоновано ввести пароль для входу? Чи є якісь повідомлення eCryptfs в syslog?
Дастін Кіркленд

@DustinKirkland, дивіться моє оновлення у питанні. Я зрозумів, що це тому, що я встановив SSH ключ авт ..., тому пароля не вимагають.
Стівен RC

ага, ну тоді це все ;-) Я опублікую кращу відповідь нижче, зараз.
Дастін Кіркленд

Відповіді:


28

Отже, в той час як це можна використовувати аутентифікацію SSH Public Key , щоб увійти в вашу систему без введення пароля (навіть якщо ваш домашній каталог зашифрований), це НЕ можливо для автоматичного монтування зашифрованого каталогу.

Щоб вирішити це, вам потрібно буде додати рядок до кінця відключеного $ HOME / .profile:

ecryptfs-mount-private

Це забезпечить, що після входу в систему за допомогою автентифікації відкритого ключа SSH вам буде запропоновано ввести пароль і змонтувати зашифровані дані. Якщо вона вже встановлена, тоді ця команда повинна просто мовчки домогтися успіху.

Насолоджуйтесь!

Повне розкриття інформації: Я один з авторів та підтримуючих eCryptfs.


1
Дивовижний, дякую, це робить саме те, що я хочу :) Мені довелося також додати cd /home/$HOMEдо файлу .profile, щоб оновити його, хоч раз розшифрував.
Stephen RC

1
Відзначимо лише, що якщо ви користуєтесь zshцим, потрібно ~/.zprofileзамість цього~/.profile
Тіммі О'Махоні

Можливо, це допоможе іншим: у мене була проблема, коли, ecryptfs-mount-privateздавалося, нічого не робити; навіть не запитувати пароль. Виявляється, він працював і не потребував пароля, тому що я вже вводив його, використовуючи sudoдля чогось іншого, але мені потрібно було змінити поточний робочий каталог /home/arthurзнову і назад, перш ніж я побачив свої файли.
Артур Такка

Дякую @ TimmyO'Mahony! Я б за вибором не використовував, zshале це була абсолютно нова установка, і я пригадую, що не міг зберегти мою історію .zsh ...
Auspex,

2

Спробуйте наступне:

  1. Переконайтеся, що /etc/pam.d/common-sessionмістить цей рядок:

     # Encrypt home
     session    optional    pam_ecryptfs.so unwrap
    
  2. Переконайтеся, що /etc/pam.d/common-authмістить цей рядок:

     auth   optional    pam_ecryptfs.so unwrap
    
  3. Переконайтеся, що вони /etc/pam.d/sshdмістять ці рядки:

     # Standard Un*x authorization.
     @include common-account
    
     # Standard Un*x session setup and teardown.
     @include common-session
    
  4. Якщо ви нещодавно змінили пароль свого користувача, перевірте /etc/pam.d/common-password

    Якщо він не містить цього рядка:

     password   optional    pam_ecryptfs.so
    

    Тоді вам знадобиться ваш старий пароль для перенастроювання шифрів.

    Моя пропозиція - змінити свій обліковий запис на ваш попередній пароль, використовуючи, passwdа потім додати вищезазначений рядок, /etc/pam.d/common-passwordа потім змінити пароль на новий.

    Можна також спробувати це:

    ecryptfs-setup-private

    Переконайтеся, що ви введете той самий пароль, що і пароль користувачів, коли з'явиться запит.

  5. Якщо жодне з перерахованих вище не працює, спробуйте запустити, ecryptfs-setup-privateможливо, це щось виправить.

  6. Якщо це все ще не працює, то я не маю ідеї, вибачте.


Все, що конфігурація виглядає добре. Перевірте оновлення мого запитання, я думаю, це пов’язано з авторизацією ключа SSH, який я створив.
Стівен RC

Спробуйте optionalперейти requiredна common-account. Ідея полягає в тому, що пам’яті справді потрібно запросити пароль, якщо він не отримає його. Не забудьте тримати відкриту сесію, щоб ви не ризикували заблокувати себе.
d_inevitable

що ви маєте на увазі під загальним рахунком?
Пітер Флекс

2

Дотримуючись цих інструкцій, які ви згадали у своєму дописі, ви спеціально зробили це, щоб ви могли SSH у свій обліковий запис, не встановлюючи домашню папку. Якщо ви скасуєте, що ви там зробили, і поверніть його до того, як це було раніше, тоді, коли ви введете SSH, ви змушені будете ввести свій пароль, якщо ваш домашній каталог вже не розшифрований. (Якщо ваш домашній каталог вже розшифрований через черговий сеанс, то ваш ключ SSH буде прекрасно працювати для безкористувацького з’єднання!)

Інакше альтернатива - запуститись ecryptfs-mount-privateпісля входу за допомогою ключа, щоб вручну розшифрувати домашню папку.


Чи є спосіб ecryptfs-mount-privateзапуститись автоматично під час входу?
Стівен RC

Лише оновивши пошкоджене посилання на "ці вказівки", тому що мені довелося відстежувати його на машині Wayback: stephen.rees-carter.net/thought/… Додаткові думки щодо посилань на статтю: замість зберігання дозволених_кейтів як /home/.ssh/ % u, зберігайте дозволені_кейси в /home/.ssh/%u/authorized_keys, де /home/.ssh/%u/ належить% u:% u з 700 perms, а файл належить% u з 600 perms.
Джеремі Лайонс

@StephenRC створити ~ / .profile, який запускає ecryptfs-mount-private у вашому незашифрованому домашньому каталозі.
Джеремі Лайонс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.