Why can't I setup an SSHFS share? “OSXFUSE file system is not available” error
Asked Answered
G

5

27

I'm trying to setup an SSHFS share from my local machine to a remote machine, but it is not working. I'm getting the error OSXFUSE file system is not available (see below). How to fix this??

FYI, my local machine is a MacBook Pro laptop running OSX 10.9.3. The remote machine is actually a VirtualBox on the same hardware running CentOS.

% brew install sshfs                                # <---- SSHFS is installed
Warning: sshfs-2.5.0 already installed

% brew install osxfuse                              # <---- OSX Fuse is installed
Warning: osxfuse-2.6.4 already installed

% ssh [email protected]                   # <---- See, SSH works!!
Last login: Wed Jun 18 18:36:11 2014 from XXX.XXX.XXX.XXX
[[email protected] ~]% exit

% sudo mkdir /mnt
% sudo mkdir /mnt/Share    
% sudo sshfs -o IdentityFile=~/.ssh/id_rsa.pub [email protected]:/ /mnt/Share
the OSXFUSE file system is not available (-1)
the OSXFUSE file system is not available (1)

I tried solution described here. But it didn't work for me:

% sudo kextunload -b com.github.osxfuse.filesystems.osxfusefs
(kernel) Kext com.github.osxfuse.filesystems.osxfusefs not found for unload request.
Failed to unload com.github.osxfuse.filesystems.osxfusefs - (libkern/kext) not found.
Grampositive answered 19/6, 2014 at 14:37 Comment(1)
Take a look at this ticket: github.com/Homebrew/homebrew-cask/issues/27293Bamberger
M
12

If you run brew info osxfuse and follow the instructions to the letter, I believe it would work.

From what You described, you just tried unloading the (possible) previous kernel extension, but did not complete the last important step to actually install the new extension.

This is what brew info osxfuse tells me:

If upgrading from a previous version of osxfuse, the previous kernel extension
will need to be unloaded before installing the new version. First, check that
no FUSE-based file systems are running:

  mount -t osxfusefs

Unmount all FUSE file systems and then unload the kernel extension:

  sudo kextunload -b com.github.osxfuse.filesystems.osxfusefs

The new osxfuse file system bundle needs to be installed by the root user:

  sudo /bin/cp -RfX /usr/local/opt/osxfuse/Library/Filesystems/osxfusefs.fs /Library/Filesystems
  sudo chmod +s /Library/Filesystems/osxfusefs.fs/Support/load_osxfusefs
Maynard answered 30/8, 2014 at 5:43 Comment(1)
I also had to run "brew link osxfuse", for some reason it was unlinked, I'm not sure how I found that out.Roup
G
7

There appears to be a problem loading the KEXT installed by the regular osxfuse Homebrew package. You can use brew cask to install the official FUSE for OS X build from their own DMG:

brew rm osxfuse
brew install caskroom/cask/brew-cask
brew cask install osxfuse

SSHFS itself is also available as a Cask package, though on my system mixing osxfuse from Cask with plain sshfs binary bottle works just fine.

The downside to this approach is that brew upgrade or brew outdated will no longer be able to update FUSE for OS X as brew cask is not version-aware for now.

Given answered 23/1, 2015 at 9:33 Comment(1)
This save my day. A footnote, though, I had to run brew install caskroom/cask/brew-cask to make it work; as documented hereTroth
F
5

I have observed that OSXFUSE is a bit tricky, though I don't know exactly why, and brew tries to avoid changing the system, so using it to manage kernel extensions is not a good idea. I suggest using the packaged installers for OSXFUSE and SSHFS from http://osxfuse.github.io/ instead of using brew.

Frodine answered 27/6, 2014 at 6:22 Comment(1)
… which is essentially the same as using brew cask, isn't it? Can someone confirm this? Had the same error after an update of os x. Read this answer and then installed it using cask. Worked!Featherbrain
R
4

Open System Preferences, choose FUSE, then update to the latest version. Thats what worked for me.

Risk answered 28/1, 2017 at 1:47 Comment(0)
R
1

The problem when installing SSHFS with brew is that osxfusefs is not signed: the Console outputs com.apple.kextd: ERROR: invalid signature for com.github.osxfuse.filesystems.osxfusefs, will not load. See also https://github.com/osxfuse/osxfuse/issues/122.

The binary for OSXFUSE from http://osxfuse.github.io/ (as suggested by the answer of Old Pro) does not have this problem, and therefore installing this one instead resolved it for me.

Redhot answered 16/1, 2015 at 22:2 Comment(1)
worked for me too. macOS Sierra, osxfuse installed via macports did not work. DMG-based install did.Lermontov

© 2022 - 2024 — McMap. All rights reserved.