当前位置: 首页>>技术教程>>正文


尽管/etc/fstab 配置,sshfs 不会在启动时自动挂载

, ,

问题描述

设置一些 Ubuntu(13.04)工作站,我试图安装一个远程文件系统(通过 ssh)。

当前配置

  • 我创建了用户 someuser 并将其添加到保险丝组

  • 我的 fstab 条目如下所示:

    sshfs#someuser@remote.com:/remote_dir  /media/remote_dir/   fuse    auto,_netdev,port=22,user,allow_other,noatime,follow_symlinks,IdentityFile=/home/someuser/.ssh/id_rsa,reconnect     0       0
    

据我了解:

  • auto :明确要求在启动时挂载远程 fs

  • _netdev : 在尝试挂载之前等待接口启动

  • user :允许任何用户请求挂载这个特定的远程位置(从 root 用户的角度来看,在启动时自动挂载它是无用的)

  • allow_other :将允许任何用户(在保险丝组中?)访问挂载的 fs

  • IdentityFile :指向与远程机器的 /home/someuser/.ssh/authorized_key 中添加的公钥配对的私钥。

  • 重新连接:不确定…如果连接丢失,是否会尝试重新连接?

问题

  • 在启动时,我使用 someuser 登录,启动终端,然后 /media/remote_dir 为空。

  • 但是从同一个用户(或根用户),我可以安装它,只需键入:

    mount sshfs#someuser@remote.com:/remote_dir
    

    如果我在文件浏览器中单击 remote_dir,它也会安装 auto-magically。

关于可能缺少什么的任何线索?

最佳答案

从 Oneiric(自动挂载工作正常)升级到 Precise 后,我遇到了完全相同的问题。

为我解决问题的是添加 delay_connect 选项。此外,从 Oneiric 时代开始,我就一直在使用选项 “workaround=rename”。不确定今天是否仍然需要它,但至少它似乎没有伤害。

我的完整 /etc/fstab 行是:

sshfs#user@host:/remote/dir /local/dir fuse delay_connect,idmap=user,uid=1000,gid=1000,umask=0,allow_other,_netdev,workaround=rename 0 0

您显然需要使用户/组 ID 适应您自己的环境。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/12680.html,未经允许,请勿转载。