Монтируем удалённый сервер через sshfs в mac os

by manjarqo

Пользователи Mac OS пришедшие в него, как и я, из мира Linux, конечно же знают, что терминал настолько крутая вещь, и в нём можно творить такое… такое… В общем в нём можно делать всё и везде. Когда я случайно нашёл в своём Hackintosh’е терминал, слёзы радости проступили на моих глазах, а когда настроил монтирование своих серверов в папку в Finder по SSH ключу, я спутал это состояние с достижением нирваны или самадхи, в общем чего-то эдакого из Буддизма. В общем те кому интересно, как этого достичь «Велкоме» в статью.

Итак друзья, как оказалось ничто человеческое Маку не чуждо и в нём тоже есть довольно годный пакетный менеджер, точнее их не один даже, но вот один прям годнота. Имя ему «Homebrew«, почитать о нём и установить, если у вас его ещё нет, можно на его официальном сайте https://brew.

sh/. И мало того что он сам по себе хорош, так к нему ещё расширение есть в котором довольно обширная база пакетов устанавливаемых и удаляемых в пару кликов, зовётся оно
Homebrew-Cask, информация по нему на его официальном сайте https://caskroom.github.io/. Для тех кто мне, по какой-то причине, решил не глядя довериться, вот две команды на установку обоих:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew tap caskroom/cask

Считаю что он у вас уже есть и потому даю сразу команды ввода в терминал уже адресованные к ним. Для реализации поставленных целей нам потребуются два пакета, первый насколько я понимаю нужен для монтирования в Мак, а второй итак вроде понятно:

  1. osxfuse
  2. sshfs

Установим их выполнив поочередно команды в терминале:

brew cask install osxfuse
brew install sshfs

Создаём в домашней директории две папки:

md /Users/<имя_пользователя>/. ssh
md /Users/<имя_пользователя>/sshf

Первая, как видно из команды, скрытая, в неё нам нужно положить ключи доступа к серверу по ssh,
вторая может иметь абсолютно любое понравившееся вам имя, в неё просто будет монтироваться файловая система вашего сервера. Прошу обратить внимание на то что <имя_пользователя> необходимо исправить на имя ВАШЕГО пользователя.

Небольшое лирическое отступление, может вы ещё не в курсе, что в Finder можно включить отображение скрытых файлов комбинацией клавиш Cmd + Shift + >

Итак ключи лежат на месте можно проверить всё ли у нас работает подключившись к серверу по SSH:

ssh -i ~/.ssh/id_rsa <имя_пользователя>@127.0.0.1

где вместо 127.0.0.1 необходимо подставить ваш ip и вместо <имя_пользователя>, ваш логин на сервере.

Если подключение получилось, то можно пробовать монтировать, но предварительно не забудьте выйти из ssh сессии на сервере, простой командой exit, после чего уже вводим

sshfs <имя_пользователя>@127. 0.0.1:/ ~/sshfs

где вместо 127.0.0.1 необходимо подставить ваш ip и вместо <имя_пользователя>, ваш логин на сервере.
Если терминал не ругнулся, идём в Finder проверять.

Маководы со стажем скажут, что есть же Macfusion и с помощью него всё тоже самое можно сделать в графическом режиме, соглашусь, но почему то последний релиз Macfusion’а оказался не совместим с Mac OS X Sierra.

Надеюсь эта статься окажется кому-нибудь полезной. Я желаю всем счастья =)

P.S. из 2021 года: К сожалению sshfs исчез из homebrew в Big Sur, потому пришлось искать новый инструмент о нём написал в этом топике.

manjarqo

Гик, хакинтошник, линуксоид, считаю себя flutter разработчиком. Завёл канал, в котором изначально хотел показывать как я с нуля и до бесконечности погрузился в дорвей тематику, а в итоге просто рассказываю о себе, своих успехах и неудачах в сайтах, приложениях,  офлайн проектах. Добро пожаловать в https://www.youtube.com/channel/UCbrTUrElICx4pewX0NbolmQ

 

www.

youtube.com/channel/UCbrTUrElICx4pewX0NbolmQ

9 188

Categories СофтTags mac os, sshfs

Используем SSHFS в Linux и Mac OS X.

Сегодня мы поговорим о файловой системе Secure Shell FileSystem (сокращенно SSHFS) благодаря которой мы сможем использовать удаленное управление файлами, при этом делать этом соблюдая безопасность, так как подключение будет осуществляться через SFTP, который в свою очередь работает через SSH. Мы рассмотрим работу с SSHFS в Linux и Mac OS X. Сразу замечу тот факт, что при нестабильном соединении можно будет столкнуться с проблемами, так как основное предназначение SSH, это не гарантированность соединения, а безопасность.

В свое время я даже пытался использовать SSHFS в Windows, но честно говоря ничего хорошего из этого не вышло, так как не смог найти ни одного устраивающего меня решения, так что отказался от этой идеи. Если вам, дорогие читатели, встречалось что-либо адекватное под Windows, пишите в комментарии, с удовольствием ознакомлюсь.

SSHFS в Mac OS X.

Дано:

  • Удаленный сервер с SSH, к которому мы хотим подключиться.
  • Mac OS X > 10.5.

Для начала нам поддержка FUSE. Раньше я использовал MacFUSE от Google, но он перестал обновляться, так что теперь мое внимание направлено на более динамичную разработку — FUSE for OS X, которая и позиционируется, как продолжение MacFUSE.

Все необходимое мы возьмем с официального сайта на гите http://osxfuse.github.com/

  1. Скачаем последнюю версию OSXFUSE.

На момент написания статьи версия OSXFUSE 2.5.4, DMG которого можно скачать по ссылке https://github.com/downloads/osxfuse/osxfuse/OSXFUSE-2.5.4.dmg.

  1. Откроем DMG пакет и нажмем Install OSXFUSE 2.5.

  2. Установим OSXFUSE, как любое другое приложение.

ВАЖНО: при выборе компонент установки поставить галку «MacFUSE Compatibility Layer».

  1. Скачаем пакет SSHFS.

На момент написания статьи версия SSHFS 2. 4.1., скачать можно по ссылке https://github.com/downloads/osxfuse/sshfs/SSHFS-2.4.1.pkg.

  1. Установим пакет SSHFS.

  2. Теперь нам понадобится приложение MacFusion, последнюю версию которого мы можем взять с официального сайта http://macfusionapp.org/.

  3. Скачаем и распакуем его в папку Программы.

  4. Запустим Macfusion, откроется подобное окно.

При первом запуске он спросит, хотим ли мы запускать его как сервис. Я обычно соглашаюсь, так как хочу получать автомонтирование.

  1. Нажмем на + слева внизу, выберем SSHFS.

  2. Укажем имя подключения,хост, логин, пароль и домашнюю директорию. После заполнения полей нажмем OK.

  1. Нажмем Mount на появившемся соединении.

  2. Перейдем по пути /Volumes и увидим наше подключение.

СОВЕТ: Если вы ходите на удаленный сервер через сертификат, то для подключения будет использоваться именно он, игнорируя связку User Name/Password.

Распространенная проблема: соединение не устанавливается, жалуется на непредвиденную ошибку.

Решение: Нажмите CMD+L. Откроется лог. Если вы увидите ошибку «Library not loaded: /usr/local/lib/libfuse.0.dylib», значит при установке OSXFUSE вы забыли поставить галку «MacFUSE Compatibility Layer». Заново запустите установку и поставьте галку. После этого проблема будет решена.

Управление подключениями SSHFS так-же возможно через командную строку, но в рамках этой статьи я не буду рассказывать про это, так как, в отличие от серверов, на десктопах не гнушаюсь GUI.

SSHFS в Linux на примере Debian и Ubuntu.

В отличие от первой части статьи, в которой мы подключали SSHFS без использования консоли, потребность в SSHFS для Linux часто возникает на серверах, так что здесь мы все будем делать исключительно через консоль.

Нам потребуется:

  • Linux (в примере использован Debian, точно так-же все настраивается в Ubuntu)
  • OpenSSH клиент.
  1. Установим необходимые пакеты:
1
apt-get install fuse-utils sshfs
  1. Подгрузим поддержку fuse в ядро через modprobe.
1
modprobe fuse
  1. Убедимся, что fuse успешно подгружен через сообщения ядра.
1
dmesg |grep fuse

На выходе мы должны получить что-то типа этого:

[ 409.252165] fuse init (API version 7.13)
  1. Создадим директорию, в которую будем монтировать SSHFS.
1
mkdir /mnt/sshfs-test

Примонтируем SSHFS в директорию.

1
sshfs [email protected]:/ /home/
  1. Насладимся полученным результатом.

  2. Отмонтируем SSHFS.

1
fusermount -u /mnt/sshfs-test/

Для настройки монтирования через fstab, пропишем следующую строку:

1
nano /etc/fstab
sshfs#admin@SITE:/mnt/sshfs-test /home fuse 0 0

Этот способ заработает, только если для пользователя, под которым будет происходить монтирование, будет использоваться аутентификация по сертификату (в примере admin). О том, как реализовать аутентификацию по сертификату, вы можете почитать в моей статье SSH. Великий и могучий.

На этом все, спасибо за внимание.

Linux  Mac OS  Tutorial 


Смотрите также
  • Как добавить постоянные статические маршруты (persistent static routes) в Mac OS X.
  • Знакомство с CMake. Часть 3. CMakeCache, модули CMake, зависимости сборки.
  • maybe? Интересная песочница для отладки операций с файлами в скриптах Linux.
  • Знакомство с CMake. Часть 2. Переменные, условия, сообщения, опции.
  • Знакомство с CMake. Часть 1. Установка, CMakeLists.txt, сборка.
Почтовый архив

— macFUSE Почтовый архив

— macFUSE
  • Выпуск macFUSE 4.4.2
    Опубликовано 18 фев 2023
  • Выпуск macFUSE 4.4.1
    Опубликовано 19 августа 2022 г.
  • Выпуск macFUSE 4.4.0
    Опубликовано 18 июня 2022 г.
  • Выпуск macFUSE 4.3.1
    Опубликовано 04 мая 2022 г.
  • Выпуск macFUSE 4.3.0
    Опубликовано 25 апр 2022
  • Выпуск macFUSE 4.2.5
    Опубликовано 08.04.2022
  • Выпуск macFUSE 4.2.4
    Опубликовано 20 декабря 2021 г.
  • Выпуск macFUSE 4. 2.3
    Опубликовано 16 ноя 2021
  • Выпуск macFUSE 4.2.2
    Опубликовано 10 ноя 2021
  • Выпуск macFUSE 4.2.1
    Опубликовано 01 Окт 2021
  • Выпуск macFUSE 4.2.0
    Опубликовано 12 июня 2021 г.
  • Выпуск macFUSE 4.1.2
    Опубликовано 16 мая 2021 г.
  • Выпуск macFUSE 4.1.1
    Опубликовано 16 мая 2021 г.
  • Выпуск macFUSE 4.1.0
    Опубликовано 13 марта 2021 г.
  • Выпуск macFUSE 4.0.5
    Опубликовано 02 января 2021
  • Выпуск macFUSE 4.0.4
    Опубликовано 30 ноября 2020 г.
  • Выпуск macFUSE 4.0.3
    Опубликовано 18 ноя 2020
  • Выпуск macFUSE 4. 0.2
    Опубликовано 08.11.2020
  • Выпуск macFUSE 4.0.1
    Опубликовано 01.11.2020
  • Выпуск macFUSE 4.0.0
    Опубликовано 30 Окт 2020
  • Выпуск FUSE для macOS 3.11.2
    Опубликовано 05 Окт 2020
  • Выпуск FUSE для macOS 3.11.1
    Опубликовано 02 Окт 2020
  • Выпуск FUSE для macOS 3.11.0
    Опубликовано 04 Июл 2020
  • Выпуск FUSE для macOS 3.10.6
    Опубликовано 08 июня 2020
  • Выпуск FUSE для macOS 3.10.5
    Опубликовано 27 мая 2020 г.
  • Выпуск FUSE для macOS 3.10.4
    Опубликовано 05 декабря 2019
  • Выпуск FUSE для macOS 3.10.3
    Опубликовано 15 Сен 2019
  • Выпуск FUSE для macOS 3. 10.2
    Опубликовано 25 июля 2019 г.
  • Выпуск FUSE для macOS 3.10.0
    Опубликовано 06 Июл 2019
  • Выпуск FUSE для macOS 3.9.2
    Опубликовано 14 июня 2019 г.
  • Выпуск FUSE для macOS 3.9.1
    Опубликовано 28 мая 2019 г.
  • Выпуск FUSE для macOS 3.9.0
    Опубликовано 03 мая 2019 г.
  • Выпуск FUSE для macOS 3.8.3
    Опубликовано 18 декабря 2018 г.
  • Выпуск FUSE для macOS 3.8.2
    Опубликовано 01 Июл 2018
  • Выпуск FUSE для macOS 3.8.1
    Опубликовано 18 июня 2018 г.
  • Выпуск FUSE для macOS 3.8.0
    Опубликовано 07 мая 2018 г.
  • Выпуск FUSE для macOS 3. 7.1
    Опубликовано 21 сентября 2017 г.
  • Выпуск FUSE для macOS 3.7.0
    Опубликовано 10 сентября 2017 г.
  • Выпуск FUSE для macOS 3.6.3
    Опубликовано 18 июля 2017 г.
  • Выпуск FUSE для macOS 3.6.2
    Опубликовано 11 июля 2017 г.
  • Выпуск FUSE для macOS 3.6.1
    Опубликовано 08.07.2017
  • Выпуск FUSE для macOS 3.6.0
    Опубликовано 13 июня 2017 г.
  • Выпуск FUSE для macOS 3.5.8
    Опубликовано 16 Апр 2017
  • Выпуск FUSE для macOS 3.5.6
    Опубликовано 15 марта 2017 г.
  • Выпуск FUSE для macOS 3.5.5
    Опубликовано 30 января 2017 г.
  • Выпуск FUSE для macOS 3. 5.4
    Опубликовано 01 декабря 2016 г.
  • Выпуск FUSE для macOS 3.5.3
    Опубликовано 19 Окт 2016
  • Выпуск FUSE для macOS 3.5.2
    Опубликовано 26 сентября 2016 г.
  • Выпуск FUSE для macOS 3.5.1
    Опубликовано 18 сентября 2016 г.
  • Выпуск FUSE для macOS 3.5.0
    Опубликовано 06 Сен 2016
  • Выпуск FUSE для macOS 3.4.2
    Опубликовано 08 августа 2016
  • Выпуск FUSE для macOS 3.4.1
    Опубликовано 24 июля 2016 г.
  • Выпуск FUSE для macOS 3.4.0
    Опубликовано 16 июня 2016 г.
  • Выпуск FUSE для OS X 3.3.3
    Опубликовано 04 июня 2016 г.
  • Выпуск FUSE для OS X 3. 3.2
    Опубликовано 26 мая 2016 г.
  • Выпуск FUSE для OS X 3.3.1
    Опубликовано 23 мая 2016 г.
  • Выпуск FUSE для OS X 3.3.0
    Опубликовано 22 мая 2016 г.
  • Выпуск FUSE для OS X 3.2.0
    Опубликовано 14 февраля 2016 г.
  • Выпуск OSXFUSE 2.8.3
    Опубликовано 18 января 2016 г.
  • Выпуск OSXFUSE 2.8.2
    Опубликовано 25 октября 2015 г.
  • Выпуск OSXFUSE 2.8.1
    Опубликовано 25 сентября 2015 г.
  • Выпуск OSXFUSE 2.8.0
    Опубликовано 14 июня 2015 г.
  • Выпуск OSXFUSE 2.7.5
    Опубликовано 07 Фев 2015
  • Выпуск OSXFUSE 2.7.4
    Опубликовано 08. 01.2015
  • Выпуск OSXFUSE 2.7.3
    Опубликовано 01 декабря 2014 г.
  • Выпуск OSXFUSE 2.7.2
    Опубликовано 20 октября 2014 г.
  • Выпуск OSXFUSE 2.7.1
    Опубликовано 15 сентября 2014 г.
  • Выпуск OSXFUSE 2.7.0
    Опубликовано 09 июня 2014 г.
  • Выпуск OSXFUSE 2.6.4
    Опубликовано 01.04.2014
  • Выпуск SSHFS 2.5.0
    Опубликовано 03 Фев 2014
  • Выпуск OSXFUSE 2.6.2
    Опубликовано 13 ноября 2013 г.
  • Выпуск OSXFUSE 2.6.1
    Опубликовано 10 августа 2013 г.
  • Выпуск OSXFUSE 2.6.0
    Опубликовано 17 июня 2013 г.
  • Выпуск OSXFUSE 2. 5.6
    Опубликовано 01 мая 2013 г.
  • Выпуск OSXFUSE 2.5.5
    Опубликовано 21 марта 2013 г.
  • Выпуск OSXFUSE 2.5.4
    Опубликовано 26 октября 2012 г.
  • Выпуск OSXFUSE 2.5.2
    Опубликовано 13 сентября 2012 г.
  • Выпуск OSXFUSE 2.5.1
    Опубликовано 10 августа 2012 г.
  • Выпуск OSXFUSE 2.5.0
    Опубликовано 01.08.2012
  • Выпуск OSXFUSE 2.4.2
    Опубликовано 06 июня 2012 г.
  • Выпуск OSXFUSE 2.4.1
    Опубликовано 30 мая 2012 г.
  • Выпуск OSXFUSE 2.4.0
    Опубликовано 28 мая 2012 г.
  • Выпуск SSHFS 2.4.1
    Опубликовано 11 марта 2012 г.
  • Выпуск SSHFS 2.4.0
    Опубликовано 09 марта 2012 г.
  • Выпуск OSXFUSE 2.3.9
    Опубликовано 19 февраля 2012 г.
  • Выпуск SSHFS 2.3.0
    Опубликовано 22 января 2012 г.
  • Выпуск OSXFUSE 2.3.8
    Опубликовано 17 декабря 2011 г.
  • Выпуск OSXFUSE 2.3.4
    Опубликовано 08.09.2011
  • Выпуск OSXFUSE 2.3.3
    Опубликовано 04.09.2011
  • Выпуск OSXFUSE 2.3.2
    Опубликовано 28 августа 2011 г.
  • Выпуск OSXFUSE 2.3.1
    Опубликовано 01.08.2011
  • Выпуск OSXFUSE 2.3.0
    Опубликовано 25 июля 2011 г.

Быстрый и надежный клиент SSHFS для macOS

Когда вы работаете с удаленным сервером через SSH, вам часто приходится регулярно редактировать файлы на этом сервере. Ручная передача редактируемых файлов туда и обратно может превратиться в громоздкую и повторяющуюся задачу.

К счастью, есть лучший способ взаимодействия с файлами на вашем сервере, который использует инструмент типа SSHFS (файловая система SSH), чтобы вы могли взаимодействовать с удаленным хранилищем, как если бы оно было локальным хранилищем на вашем компьютере.

На практике это означает, что вы можете копировать и вставлять файл с локального на удаленный из Finder или редактировать файлы непосредственно на сервере, используя любые инструменты, которые вы обычно используете, такие как VS Code, Photoshop и даже Microsoft Office.

Вносимые вами изменения немедленно и безопасно синхронизируются с сервером по каналу SSH, и вам не нужно дважды думать после того, как вы нажмете кнопку «Сохранить».


SSHFS с открытым исходным кодом на основе macFUSE

Вариант с открытым исходным кодом — это порт SSHFS из Linux от macFUSE. Это относительно простое приложение командной строки без излишеств без какого-либо пользовательского интерфейса, но оно хорошо протестировано и используется многими. Если вы ищете бесплатный вариант или вариант с открытым исходным кодом, это хорошее место для начала.

Одно предостережение заключается в том, что, как и многие решения, оно основано на расширении ядра, которое устарело в macOS и требует перезагрузки в режиме восстановления для снижения уровня безопасности на новых компьютерах Mac на базе Apple Silicon.


Loopback server Коммерческие решения

Другой стиль реализации SSHFS — реализация локального сервера NFS, к которому подключается операционная система. Этот сервер NFS переводит команды NFS в команды SFTP, поэтому вы можете иметь вид локальной файловой системы. CloudMounter и Mountain Duck — два популярных примера решения такого типа. Mountain Duck основан на CyberDuck, популярном клиенте для передачи файлов на основе Java. Cloudmounter — похожее решение, но более точно разработанное для Mac.


Strongsync — поставщик файлов для macOS, поддерживающий SFTP

Поскольку Apple отказывается от расширений ядра и делает их загрузку намного более обременительной в Apple Silicon, путь вперед для доступа к удаленному контенту в собственных локальных приложениях на Mac — это интерфейс поставщика файлов. Strongsync, приложение, разработанное ExpanDrive, является первым приложением для Mac, поддерживающим этот интерфейс.

ExpanDrive добавляет поддержку SFTP непосредственно в Finder и любое другое приложение на вашем Mac. Это не симпатичная оболочка вокруг ванильного SSHFS, ExpanDrive — мощное индивидуальное решение, которое мы разрабатывали более 15 лет.


Подключите любой SFTP-сервер в качестве сетевого диска в macOS.

Попробуйте ExpanDrive Купить

Загрузить для Mac

Инструкции по установке ExpanDrive

ExpanDrive — это простая установка. Начните с загрузки нашего установщика с нашей страницы загрузки. Затем щелкните наш файл DMG, чтобы открыть программу установки.

* Для ExpanDrive v7 требуется macOS 10.11 или новее. Если вы используете macOS или более позднюю версию, вы, вероятно, захотите использовать Strongsync

9.0286 Перетащите ExpanDrive в папку «Приложения», чтобы завершить установку. Вам нужно будет ввести пароль вашего Mac, чтобы завершить установку. Это происходит только при первом подключении, позволяющем ExpanDrive завершить настройку. В macOS 10.14 и новее вам также будет предложено авторизовать наше системное расширение в панели управления безопасностью на вашем Mac.

Конфигурация подключения ExpanDrive

Чтобы создать новое подключение SSHFS внутри ExpanDrive, начните с нажатия кнопки нового подключения в левом нижнем углу приложения. Откроется экран конфигурации диска, который позволяет вам настроить различные параметры, необходимые для подключения вашего SFTP-сервера.

Smart Offline Sync

Выберите файлы для автономного доступа и работы без подключения к Интернету. Загрузка на ваш сервер происходит автоматически, когда вы снова подключаетесь к сети. Доступ к другим файлам осуществляется по запросу с SFTP-сервера, не занимая места на диске.

Облачное хранилище в каждом приложении

Добавьте облачное хранилище, такое как Google, Dropbox, Amazon S3, Sharepoint и другие, в каждое приложение на вашем компьютере. ExpanDrive создает безопасное соединение файловой системы с облаком. Открывайте, редактируйте и сохраняйте файлы на удаленных компьютерах из ваших любимых программ, даже если они находятся на сервере за полмира.

Сверхбыстрая загрузка в фоновом режиме

ExpanDrive имеет механизм многопоточного соединения, который на 500 % быстрее, чем в предыдущей версии. ExpanDrive выполняет параллельную передачу в фоновом режиме, поэтому у вас будет надежная передача даже в условиях ненадежного Интернета. Продолжайте работать и перестаньте ждать завершения передачи.

  • Загрузить для Mac
  • Загрузить для Windows
  • Загрузить для Linux
Чтобы получить помощь по установке или удалению, обратитесь к нашей документации.