我以某种方式设法破坏了我的加密主目录的自动挂载功能。
每次我通过 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 身份验证密钥登录后自动提示输入密码?
答案1
好的,虽然可以使用 SSH 公钥身份验证登录系统而无需输入密码(即使你的主目录已加密),但它不是可以自动挂载您的加密主目录。
为了解决这个问题,你需要在末尾添加一行卸载$HOME/.profile:
ecryptfs-mount-private
这将确保在您使用 SSH 公钥身份验证登录后,系统会提示您输入密码并挂载加密数据。如果已挂载,则此命令应会默默成功。
享受!
完全披露:我是 eCryptfs 的作者和维护者之一。
答案2
请尝试以下操作:
确保
/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
也许可以解决某些问题。如果它仍然不起作用那么我就没有办法了,抱歉。
答案3
依照指示这些说明您在帖子中提到,您特意这样做,以便您可以在不挂载主文件夹的情况下通过 SSH 进入您的帐户。如果您撤消您在那里所做的操作并将其恢复到之前的状态,那么当您通过 SSH 进入时,如果您的主目录尚未解密,您将被迫输入密码。(如果您的主目录已经由于另一个会话而解密,那么您的 SSH 密钥将完美地用于无密码连接!)
ecryptfs-mount-private
否则,另一种方法是使用密钥登录后运行以手动解密您的主文件夹。