Ssh 如何装载远程ecryptfs目录?

Ssh 如何装载远程ecryptfs目录?,ssh,rsync,ubuntu-server,ecryptfs,Ssh,Rsync,Ubuntu Server,Ecryptfs,我使用rsync将客户端上的数据与服务器上解密的ecryptfs容器同步 我想要实现的是以下自动过程: 如果在服务器上,keyctl show已具有所需的密钥签名,请转到(3) ecryptfs add passphrase--fnek将我的密钥添加到服务器上的密钥环 mount-i/mnt/path/to/decrypted以确保已解密的文件夹已装载到服务器上 rsync从客户端到服务器 可选:卸载文件夹并删除密钥签名(此处不重要) 目前,对于步骤1、2、3,我使用ssh-tq…执行命令并评估

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

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

  • 如果在服务器上,
    keyctl show
    已具有所需的密钥签名,请转到(3)
  • ecryptfs add passphrase--fnek
    将我的密钥添加到服务器上的密钥环
  • mount-i/mnt/path/to/decrypted
    以确保已解密的文件夹已装载到服务器上
  • rsync
    从客户端到服务器
  • 可选:卸载文件夹并删除密钥签名(此处不重要)
  • 目前,对于步骤1、2、3,我使用
    ssh-tq…
    执行命令并评估结果

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


    我刚刚认识到
    ssh-tq'ecryptfs添加了密码短语--fnek;mount-i/mnt/path/to/decrypted'
    显然按预期工作。之后再次丢弃密钥,但装载成功。这意味着我必须在服务器上实现“动态提示”(步骤1)。这已经是最好的解决方案了,还是我可以在客户机上实现这一点?

    今天,我在试图准确了解您所描述的内容时,多次无意中发现您的帖子,但没有找到任何帮助。我终于自己找到了解决办法

    此解决方案利用rsync的
    --rsync path
    选项。以下是摘自:

    手册最后一段中给出的示例让我想到了使用此参数装载ecryptfs目录

    代码如下:

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

    这应该是一个编程问题吗?这似乎离题了;请参见超级用户。@MSalters也许这不是一个纯粹的编程问题。但是,关于
    rsync
    及其应用的其他问题(例如,或其他
    rsync
    相关问题)在这里显然是可以接受的。记住这一点,我想远离双重张贴,在这里试试我的运气。
    rsync --rsync-path="(printf \"%s\" \"$passphrase\" | ecryptfs-add-passphrase --fnek && ecryptfs-mount-private) &> /dev/null && rsync" -aKLv local_to_sync remotehost.com:~/Private/