【发布时间】:2018-06-08 14:57:36
【问题描述】:
有没有办法在通过 ssh 密钥登录且无需额外用户交互时自动挂载 ecryptfs 挂载?
例如,是否有任何 ssh 扩展程序告诉客户端使用其私钥解密一些远程内容,例如 ecryptfs passwd?
【问题讨论】:
有没有办法在通过 ssh 密钥登录且无需额外用户交互时自动挂载 ecryptfs 挂载?
例如,是否有任何 ssh 扩展程序告诉客户端使用其私钥解密一些远程内容,例如 ecryptfs passwd?
【问题讨论】:
一个老帖子,但我找不到答案,所以我会发布我所做的。
有可能,但没那么简单。你必须知道你在做什么,所以我只会发布指南,而不是复制/粘贴解决方案。
在主机上:
writeunmounted $HOME 的权限encryptfs-mount-private 脚本复制到unmounted $HOME,并将LOGNAME 更改为接受参数(密码)制作脚本(即 mySSHlogin)
a) 将.XAuthority 从unmounted $HOME 复制到某个公共位置(即/tmp)
b) 挂载 ecryptefs (2.),密码为 param 和 cd ~
c) 在mounted $HOME 中备份.XAuthority
d) 将.Xauthority 从公共位置移动到mounted $HOME
e) 启动外壳
f) 恢复mounted $HOME 中的原始.Xauthority 文件
远程:
ssh,在主机上使用提供的密码执行该脚本 (3.)(gnome-terminal -x ssh -Y me@host -t /home/me/mySSHlogin somePassword)
将.Xauthority 留在unmounted $HOME 中会降低安全性(这可以通过移动而不是复制到 2. 中来解决,但xauth 会显示一个通知),但在本地网络上应该没问题。
此外,通过 ssh 和直接在主机上进行的并发访问在某些情况下可能会显示出不可预测的情况(可以通过将 .Xauthority 从未安装到 mounted .Xauthority 来解决,这应该定期清理)。
正如我所说,这些只是指导方针。
而且,一如既往,backup、backup、backup。
当然,如果您使用 ssh 密码和提供密码的sshpass,则所有这些都可以避免,因此您不必输入密码。
【讨论】: