Назад | Перейти на главную страницу

Почему я не могу настроить общий ресурс SSHFS? Ошибка «Файловая система OSXFUSE недоступна»

Я пытаюсь настроить общий ресурс SSHFS с моего локального компьютера на удаленный, но он не работает. Я получаю сообщение об ошибке. Файловая система OSXFUSE недоступна (см. Ниже). Как это исправить ??

К вашему сведению, мой локальный компьютер - это ноутбук MacBook Pro с OSX 10.9.3. Удаленная машина на самом деле представляет собой VirtualBox на том же оборудовании, на котором работает 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 remote_user@XXX.XXX.XXX.XXX                   # <---- See, SSH works!!
Last login: Wed Jun 18 18:36:11 2014 from XXX.XXX.XXX.XXX
[remote_user@XXX.XXX.XXX.XXX ~]% exit

% sudo mkdir /mnt
% sudo mkdir /mnt/Share    
% sudo sshfs -o IdentityFile=~/.ssh/id_rsa.pub remote_user@XXX.XXX.XXX.XXX:/ /mnt/Share
the OSXFUSE file system is not available (-1)
the OSXFUSE file system is not available (1)

Я попробовал описанное решение Вот. Но у меня не вышло:

% 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.

Вы можете установить с помощью Homebrew Cask:

brew install Caskroom/cask/osxfuse

Так как:

osxfuse: A full installation of Xcode.app is required to compile this software.
Installing just the Command Line Tools is not sufficient.
Xcode can be installed from the App Store.
osxfuse: Building this formula from source isn't possible due to OS X
Yosemite and above's strict unsigned kext ban.

Я не эксперт в этом, но эта конфигурация у меня сработала.

Установить OSXFUSE

Download OSXFUSE 2.6.0 @ http://osxfuse.github.io/2013/06/17/OSXFUSE-2.6.0.html
With the file downloaded, right click on the .dmg file, open and install it.

Установить SSHFS

Если у вас еще не установлен Brew, перейдите в http://brew.sh/ и установите его.

Установив Brew, запустите в Терминале:

brew install sshfs

Если вы получаете сообщение об ошибке типа «Для принятия лицензии Xcode / iOS требуются права администратора, перезапустите его с правами root через sudo». все, что вам нужно сделать, это открыть Xcode, принять соглашение и подождать, пока он установит последние исправления.

Следующая ошибка, которую необходимо исправить, заключается в том, что XCode по-прежнему использует SDK для 10.8 вместо 10.9. Если вы получаете сообщение об ошибке «xcodebuild: error: SDK« macosx10.9 ″ не может быть обнаружен. », Вам необходимо отредактировать файл fuse4x-kext.rb, расположенный в /usr/local/Library/Formula/fuse4x-kext.rb :

Replace on line 21:

“macosx#{MacOS.version}” with “macosx10.8“,

while keeping line 24 (MACOSX_DEPLOYMENT_TARGET) the same.

После установки Brew отобразит сообщение «Для того, чтобы файловые системы на основе FUSE работали, расширение ядра fuse4x должно быть установлено пользователем root:», поэтому просто выполните эти две строки:

  sudo /bin/cp -rfX /usr/local/Cellar/fuse4x-kext/0.9.2/Library/Extensions/fuse4x.kext /Library/Extensions

sudo chmod +s /Library/Extensions/fuse4x.kext/Support/load_fuse4x

После всего этого вы сможете смонтировать любую удаленную файловую систему через SSH.

Чтобы создать путь, по которому вы хотите смонтировать файловую систему:

mkdir -pv ~/path/to/mount

И наконец монтаж системы:

sshfs -C -p PORT user@server:/ ~/path/to/mount

Надеюсь, это сработает и для вас.