gpt4 book ai didi

ssh - 如何挂载远程 ecryptfs 目录?

转载 作者:行者123 更新时间:2023-12-02 14:34:13 25 4
gpt4 key购买 nike

我用 rsync将我的客户端上的数据与服务器上的解密 ecryptfs-container 同步。

我想要实现的是以下自动过程:

  • 如果,在服务器上,keyctl show已经有了我想要的调号 转到 (3.)
  • ecryptfs-add-passphrase --fnek将我的 key 添加到服务器上的 key 环
  • mount -i /mnt/path/to/decrypted确保解密的文件夹安装在服务器上
  • rsync从客户端到服务器
  • 可选:卸载文件夹并删除 key 签名(此处不重要)

  • 目前,对于步骤 1、2、3,我使用 ssh -tq ...执行命令并评估结果。

    我的问题如下:似乎 ecryptfs 需要服务器上的持久用户 session 。否则,由于用户注销( ssh -tq ... 在命令完成后结束), key 被添加并立即删除。

    我刚刚意识到 ssh -tq 'ecryptfs-add-passphrase --fnek; mount -i /mnt/path/to/decrypted'显然按预期工作。之后再次删除 key ,但安装成功。这意味着我必须在服务器上实现“动态提示”(步骤 1)。这已经是最好的解决方案还是我也可以在客户端上实现这一点?

    最佳答案

    我今天几次偶然发现您的帖子,同时试图准确地了解您所描述的内容,但没有找到任何帮助。我终于设法自己找到了解决方案。

    此解决方案是利用 --rsync-path rsync 的选项。这是 man page 的摘录:

        --rsync-path=PROGRAM
    Use this to specify what program is to be run on the remote
    machine to start-up rsync. Often used when rsync is not in the
    default remote-shell’s path (e.g. --rsync-
    path=/usr/local/bin/rsync). Note that PROGRAM is run with the
    help of a shell, so it can be any program, script, or command
    sequence you’d care to run, so long as it does not corrupt the
    standard-in & standard-out that rsync is using to communicate.

    One tricky example is to set a different default directory on
    the remote machine for use with the --relative option. For
    instance:

    rsync -avR --rsync-path="cd /a/b && rsync" hst:c/d /e/

    手册最后一段给出的例子给了我使用这个参数挂载ecryptfs目录的想法。

    这是代码:
    rsync --rsync-path="(printf \"%s\" \"$passphrase\" | ecryptfs-add-passphrase --fnek && ecryptfs-mount-private) &> /dev/null && rsync" -aKLv local_to_sync remotehost.com:~/Private/

    关于ssh - 如何挂载远程 ecryptfs 目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35576874/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com