Зашифрованный домашний каталог не монтируется автоматически
Мне как-то удалось сломать авто-монтирование для моего зашифрованного домашнего каталога.
Каждый раз, когда я вхожу через 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?
3 ответа
Итак, хотя можно использовать аутентификацию SSH с открытым ключом для входа в систему без ввода пароля (даже если ваш домашний каталог зашифрован), невозможно автоматически смонтировать зашифрованный домашний каталог.
Чтобы решить эту проблему, вам нужно добавить строку в конец вашего несмонтированного $HOME/.profile:
ecryptfs-mount-private
Это гарантирует, что после входа в систему с использованием аутентификации с открытым ключом SSH вам будет предложено ввести пароль и смонтировать зашифрованные данные. Если он уже подключен, то эта команда должна просто завершиться молча.
Наслаждайтесь!
Полное раскрытие: я один из авторов и сопровождающих eCryptfs.
Попробуйте следующее:
Удостоверься что
/etc/pam.d/common-session
содержит эту строку:# Encrypt home session optional pam_ecryptfs.so unwrap
Удостоверься что
/etc/pam.d/common-auth
содержит эту строку:auth optional pam_ecryptfs.so unwrap
Удостоверься что
/etc/pam.d/sshd
содержит эти строки:# Standard Un*x authorization. @include common-account # Standard Un*x session setup and teardown. @include common-session
Если вы недавно изменили пароль своего пользователя, проверьте
/etc/pam.d/common-password
Если он не содержит эту строку:
password optional pam_ecryptfs.so
Тогда вам нужен старый пароль для перенастройки ecryptfs.
Я предлагаю изменить свой аккаунт на предыдущий пароль, используя
passwd
а затем добавив вышеуказанную строку в/etc/pam.d/common-password
а затем измените пароль обратно на новый пароль.В качестве альтернативы вы можете попробовать это:
ecryptfs-setup-private
Убедитесь, что вы вводите тот же пароль, что и пароль вашего пользователя, когда будет предложено.
Если ничего из вышеперечисленного не работает, попробуйте запустить
ecryptfs-setup-private
возможно это что-то исправит.Если это все еще не работает, то у меня нет идей, извините.
Следуя инструкциям, которые вы упомянули в своем посте, вы специально сделали это, чтобы вы могли использовать SSH в своей учетной записи без монтирования домашней папки. Если вы отмените то, что вы там сделали, и вернете его к тому, что было раньше, тогда, когда вы введете SSH, вы будете вынуждены ввести пароль, если ваш домашний каталог еще не расшифрован. (Если ваш домашний каталог уже расшифрован из-за другого сеанса, тогда ваш SSH-ключ будет отлично работать для соединения без пароля!)
В противном случае альтернативой является запуск ecryptfs-mount-private
после того, как вы войдете в систему с помощью ключа, чтобы вручную расшифровать домашнюю папку