使用 SSH 密钥身份验证无缝自动挂载 ecryptfs?



有没有办法在通过 ssh 密钥登录且无需额外用户交互的情况下自动挂载 ecryptfs 挂载?

例如,是否有任何 ssh 扩展告诉客户端使用其私钥解密一些远程内容,例如 ecryptfs passwd?

一个旧线程,但我找不到答案,所以我会发布我所做的。

这是可能的,但不是那么简单。你必须知道你在做什么,所以我只会发布指南,而不是复制/粘贴解决方案。

在主机上:

  1. 授予writeunmounted$HOME权限
  2. encryptfs-mount-private脚本复制到unmounted$HOME,并将LOGNAME更改为接受参数(密码)
  3. 制作脚本(即mySSHlogin)这将

    a) 将.XAuthorityunmounted$HOME复制到某个公共位置(即/tmp)

    b) 挂载加密 (2.),密码作为参数和cd ~

    c) 在mounted$HOME中备份.XAuthority

    d) 将.Xauthority从公共位置移动到mounted$HOME

    e) 启动外壳

    f) 恢复mounted$HOME中的原始.Xauthority文件

在远程:

  1. ssh该可执行文件运行该脚本 (3.) 在主机上提供的密码

(gnome-terminal -x ssh -Y me@host -t /home/me/mySSHlogin somePassword)

.Xauthority留在unmounted$HOME中会在一定程度上损害安全性(可以通过移动而不是在 2. 中复制来解决,但xauth显示通知比),但在本地网络上应该没问题。

此外,通过 ssh 和直接在主机上进行并发访问在某些情况下可能会显示不可预测性(通过将.Xauthority从卸载附加到mounted.Xauthority来解决,这应该定期清理)。

正如我所说,这些只是指导方针。 而且,一如既往,backupbackupbackup.

当然,如果您使用ssh的密码,并且sshpass提供密码,则可以避免所有这些,因此您不必键入密码。

相关内容

  • 没有找到相关文章

最新更新