尽管有/ etc / fstab配置,sshfs在引导时不会自动挂载
设置一些Ubuntu(13.04)工作站,我试图安装一个远程文件系统(通过ssh)。
当前配置
-
我创建了用户someuser并将其添加到fuse组
-
我的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 ,它也会自动安装。
关于什么可能缺失的任何线索?
从Oneiric(automount工作正常)升级到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调整到您自己的环境中。
有同样的问题,我认为你需要汽车是noauto。 它不应该在启动时挂载,它应该在eth启动时挂载
如果要从权威DNS服务器的/etc/fstab
安装它,并且此DNS服务器提供远程SFTP服务器的主机名,则肯定无法连接,因为主机名尚无法解析。 尝试安装时DNS服务器必须运行,或者您必须找到另一种方法来获取远程服务器的IP地址。
如果是这种情况,您可以选择以下任何解决方案:
- 添加
delay_connect
选项以允许引导序列继续,并且在引导序列启动后将连接的DNS服务器。 - 使用适当的IP地址将远程SFTP服务器的主机名添加到本地
/etc/hosts
文件中。 - 在
fstab
使用远程SFTP服务器的IP地址而不是主机名。
也补充所有以前的评论,
-
确保允许非root用户在
/etc/fuse.conf
指定allow_other
挂载选项 -
确保在root时手动使用每个sshfs mount至少一次,以便将主机的签名添加到
~/.ssh/known_hosts
文件中。sshfs [user]@[host]:[remote_path] [local_path] -o allow_other,IdentityFile=[path_to_id_rsa]