我正在尝试自动挂载远程资源,sshfs
但不适合我。我已阅读全部这,这,这和这在询问我是否可以找到我的问题的解决方案之前,但它不起作用。
这是我到目前为止所做的:
将以下行添加到
/etc/fstab
:<username>@remote_host_ip_address:remote_path host_path fuse.sshfs delay_connect,_netdev,user,idmap=user,transform_symlinks,identityfile=/home/<username>/.ssh/id_rsa,allow_other,default_permissions,uid=1000,gid=1000 0 0
我已经通过 ssh 进入远程主机一次,因此它被添加到
/home/<username>/.ssh/know_hosts
文件中。我检查后发现远程主机就在那里我已经运行命令
sudo mount -a
当我更改目录并检查本地路径时,出现了问题,因为我无法cd
进入它,它看起来像:
我在这里做错了什么?我缺少什么?
答案1
/etc/fstab
我建议使用而不是使用系统范围的保险丝。它在您链接的 Arch wiki 中被提及,但它也包含在 Fedora 中。它在您的用户会话中运行,因此可以使用ssh-agent
或提示输入密码。
它还只会按需安装,并且可以配置为在超时后卸载,如果您的网络不完全可靠,这一点尤其有价值。
afuse -o intr -o timeout=300 \
-o mount_template='sshfs -o intr -o follow_symlinks -o reconnect <username>@<remote_host_ip_address>:<remote_path>:%r %m' \
-o unmount_template='fusermount -u -z %m' \
~/<localmount>
...确保将 替换<things in brackets>
为您的本地选项。 afuse 文档提供了一些您可以使用的其他选项 - 我喜欢-o populate_root_command
,但这不是必需的。
有多种不同的方法可以在登录时自动运行它;这取决于您的桌面环境,但基本上您必须像任何其他此类命令一样将 afuse 行添加到自动启动。