看起来所有“自动挂载 SSHFS”都已过时,并且不再在当今的桌面上工作。
如果我有一张 microSD 卡,通过 RPI 上的 SFTP 共享,我如何将其自动挂载到例如 Ubuntu 20.04 桌面上?
尝试与前:
sshfs#[email protected]:/stuff/ /media/user/stuff/ fuse.sshfs noauto,x-systemd.automount,users,idmap=user,IdentityFile=/home/user/.ssh/id_rsa,allow_other,reconnect,port=22 0 0
但它不起作用..到目前为止唯一有效的是:
sshfs#[email protected]:/stuff/ /media/user/stuff/ fuse defaults,auto,allow_other,noatime,port=22,IdentityFile=/home/user/.ssh/id_rsa,user 0 0
但这需要我执行“mount -a”..这不是很自动:)
问题:作为普通用户,如何按需挂载 SSHFS 共享?因此,如果我在该目录中(例如:终端中的 GNOME os,ls 或 cd 或“cp from tothatshare”),则无需密码即可使用 SSH 密钥登录。
非常感谢。
答案1
如何仅按需挂载 SSHFS 共享?
通常,您可以使用 systemd(自动)挂载来执行此操作。
您只需将一个文件添加到 /etc/systemd/system 中,其中包含
[Unit]
Description=SSHFS mount
Requires=network-online.target
[Mount]
What=sshfs#[email protected]:/stuff/
Where=/media/user/stuff/
Type=sshfs
Options=allow_other,noatime,port=22,IdentityFile=/home/user/.ssh/id_rsa
文件必须被命名media-user-stuff.mount
(即取出 中的内容Where=
,删除根 /,然后将所有 / 替换为 - 并以 .mount 结尾)
这是一个 systemd 挂载文件。你能现在使用 systemd 挂载该目录(但您不希望这样做,所以我们不要这样做)。
相反,我们还编写一个 systemd.automount 文件:这将使 systemd 在Where=
.当第一次尝试访问它时,就会发生实际的安装。
所以,/etc/systemd/system/media-user-stuff.automount
:
[Unit]
Description=user media automount
[Automount]
Where=/media/user/stuff
[Install]
WantedBy=multi-user.target
您最终使用 启用了它systemctl enable --now media-user-stuff.automount
。因此,它将在每次系统启动时“预安装”。
作为普通用户, 我怎么能够 …
一点也不;自动挂载逻辑依赖于能够监视对目录的访问,并且需要 root 权限。据我所知,目前还没有内置消除这种需求的包装器。
关于 SSHFS 的说法:老实说,可能有更好的网络文件系统; SSHfs 真的很喜欢挂起并且在连接丢失时无法恢复,它在很多方面都不是“干净的”,你可能会在没有注意到的情况下丢失数据(发生在我身上!)实际上非常慢。
也许使用不同的网络文件系统。现在设置 Samba 并不难。