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

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

Пользователи 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, потому пришлось искать новый инструмент о нём написал в этом топике.