我使用 luks 将敏感数据加密,保存在容器文件中。这些文件通常存储在远程位置(SMB、sshfs 等)。
所以我目前的工作流程如下:
sudo mount $remoteshare /mnt
sudo cryptsetup open /mnt/encrypted.dsk decrypted
sudo mount /dev/mapper/decrypted local_mount_point
一切都很顺利,直到我因为某种原因失去连接。例如,我移动笔记本电脑,WiFi 断开,或者机器进入睡眠状态。即使我启用了自动挂载(例如通过 Systemd),我也会收到响应:
mount: /mnt: can't read superblock on /dev/mapper/decrypted.
dmesg(1) may have more information after failed mount system call.
在研究这个问题时,我发现一些参考资料表明已经开展了一些暂停这些地图的工作。但我找不到比这更多的信息。
因此我的问题是:是否存在一种机制,让我无需卸载“解密”,关闭 /dev/mapper/decrypted 设备,然后重新打开并重新安装即可恢复这些挂载?
编辑:我主要使用基于 fuse 的 sshfs。使用 smb3 的实验结果速度极差。
在 /etc/fstab 中:
tomboy64@server:Media /home/tomboy64/mounts/Media sshfs user,noauto,idmap=user,allow_other,x-systemd.automount,_netdev,uid=1007,gid=103,IdentityFile=/home/tomboy64/.ssh/id_ed25519,Compression=no,auto_cache,reconnect,ServerAliveInterval=5,ServerAliveCountMax=2,x-systemd.requires=network-online.target 0 0