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

Ad *_*d N 26 fstab mount 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
    
    Run Code Online (Sandbox Code Playgroud)

根据我的理解:

  • 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
    
    Run Code Online (Sandbox Code Playgroud)

    如果我在文件浏览器中单击remote_dir,它也会自动神奇地安装。

关于可能丢失什么的任何线索?

lbo*_*lbo 21

从 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
Run Code Online (Sandbox Code Playgroud)

您显然需要根据您自己的环境调整用户/组 ID。

  • 它安装没问题,但后来我得到:ls /backup:输入/输出错误 (4认同)
  • 在没有变通方法=重命名的情况下为我工作,以前它不起作用。所以我唯一的改变是添加了 delay_connect 选项,这在这里肯定有帮助!这次真是万分感谢。只是想知道为什么 _netdev 在这里还不够...... (3认同)