我安装了 MacFUSE(来自http://code.google.com/p/macfuse/downloads/list),重新启动,然后下载 sshfs-static-leopard.gz,并将 sshfs-static-leopard 移动到 /usr/sbin/sshfs(并对其执行 chmod 755)。
我在工作中配置了一台 Ubuntu 机器(主机名为“daryls”),这样我就可以不用密码 ssh 进入它。但是当我尝试时sshfs daryls:/ /Volumes/daryls -oauto_cache,reconnect,volname=daryls
,我得到了:
warning: ssh nodelay workaround disabled
mount_fusefs: failed to mount /Volumes/daryls@/dev/fuse0: Operation not permitted
什么操作是不允许的?
我运行的是 Mac OS X 10.6.7?难道 sshfs-static-leopard.gz 无法在 Snow Leopard 上运行?或者它只能在 32 位模式下运行?如何确定我是否在 64 位模式下启动 Mac OS X?
更新:星期五,我尝试使用 Ubuntu 11.04 VM(在 VMware Fusion 3.1.3 中运行)。我很确定我只是执行了常规操作mkdir /Volumes/ubuntu
(没有 sudo),然后执行sshfs ubuntu:/ /Volumes/ubuntu -oauto_cache,reconnect,volname=ubuntu
,它就成功了。
但今天我遇到了同样的mount_fusefs: failed to mount /Volumes/ubuntu@/dev/fuse0: Operation not permitted
错误。
我尝试使用 sudo 创建 /Volumes/ubuntu 目录,但没有任何效果。然后我尝试运行sudo sshfs ubuntu:/ /Volumes/ubuntu -oauto_cache,reconnect,volname=ubuntu
并得到:
warning: ssh nodelay workaround disabled
remote host has disconnected
但ssh ubuntu
有效。
我不知道为什么它以前能用,现在却不能了。为了以防万一,我会尝试重启我的 MacBook Air。
更新 #2:重新启动后,我运行:
$ cd /Volumes/
$ mkdir ubuntu
$ sshfs ubuntu:/ /Volumes/ubuntu -oauto_cache,reconnect,volname=ubuntu
warning: ssh nodelay workaround disabled
有效。
所以我仍然没有找到问题的答案。但我可能有一个解决方法。
顺便说一句:系统分析器中“系统软件概述”下的“64-但内核和扩展”对面显示“否”(我按照以下方法打开它)勤杂工5的方向)。
更新 #3:收到“操作不允许”错误后,我重新启动后又再次收到该错误。(换句话说,重新启动不是一种可靠的解决方法。)
更新 #4:这本来是可行的,但我犯了一个错误,没有卸载 sshfs 卷就重新启动了我的 Ubuntu VM。现在我又收到“操作不允许”错误。(也许 /Volumes 目录处于某种锁定状态。)
我读勤杂工5的评论,然后阅读http://hints.macworld.com/article.php?story=20031017061722471以及 chflags 的手册页。然后我做了:
$ ls -lOd /Volumes/
drwxrwxrwt@ 5 root admin hidden 170 Jul 15 13:22 /Volumes/
$ ls -lOd /Volumes/ubuntu/
drwxr-xr-x+ 2 root admin - 68 Jul 15 13:08 /Volumes/ubuntu/
(根据 chflags 手册页,查看标志的 ls 选项是 -O,而不是 -o。这在 ls 手册页中得到确认。)
如您所见,它没有显示任何标志。(虽然我不知道“@”和“+”代表什么。我读到http://lists.apple.com/archives/Macos-x-server/2008/Jan/msg00138.html并使用了 xattr,但没有学到任何东西。)
出于无奈,我尝试了sudo chflags nouchg /Volumes
,sudo chflags nouchg /Volumes/ubuntu
但仍然出现“操作不允许”错误。
更新 #5:距离我最初发布这篇文章已经有一段时间了,但我记得这一切都是因为我试图解决MacFusion无法与 MacFUSE 和 SSHFS 配合使用(尝试使用 SSHFS 挂载在 Ubuntu VM 中运行的卷时)。我最近了解到适用于 OS X 的 FUSE。我安装了它,重新安装了SSH文件系统,现在 MacFusion 运行正常。
答案1
您的用户帐户可能无法/Volumes
直接将卷安装到目录中。您是否尝试过将其安装sshfs
到您自己的主目录中的目录中?
否则,您可能需要具有管理 ( sudo
) 权限才能运行sshfs
。尝试在该命令前面加上sudo
如下内容:
sudo sshfs daryls:/ /Volumes/daryls -oauto_cache,reconnect,volname=daryls
另外:确定你的 Mac 是否在 64 位模式下运行:
- 选择关于此 Mac来自 Apple 菜单。
- 点击更多信息。
- 选择软件在内容窗格中。
- 在系统软件概述标题。
答案2
有一天,我能够 sshfs 挂载我的卷。第二天,我却不能。在命令行(终端)上,我尝试了sudo -i
,但遇到了“用户不在 sudoers 文件中”。我重新启动并尝试sudo -i
,成功了,所以我再次尝试 sshfs 挂载,它成功了。基本上,重新启动解决了我的问题,但除此之外我没有其他详细信息。操作系统:Mac 10.11.6(El Capitan)