Если у вас есть два компьютера под управлением macOS, вы можете подключить одну из папок с одного Mac на другой с помощью SSHFS. Это позволит работать с удалёнными файлами так, как будто они находятся на вашем локальном диске — удобно для разработки и распределения задач между несколькими машинами, обмена данными и резервного копирования.

Наша стратегия: Первый Mac (локальный) подключается к удалённой папке на втором Mac по SSH и монтирует её в локальную директорию.

Установка SSHFS на первом компьютере (тот, с которого будет доступ)

Откройте терминал и выполните следующие команды:

brew install macfuse 
brew tap gromgit/fuse 
brew install gromgit/fuse/sshfs-mac

Эти команды устанавливают необходимые компоненты: macFUSE и сам sshfs-mac.

Включение SSH-доступа на втором компьютере (тот, к которому подключаемся)

  • Зайдите в System Settings → Sharing
  • Включите Remote Login
  • Убедитесь, что ваш основной пользователь имеет доступ по SSH
ssh your_login_second_pc@your_ip_second_pc

Если подключается — всё готово.

Подготовка папок

На втором Mac (удалённом): Создайте папку, которую хотите расшарить:

mkdir ~/remote-folder

На первом Mac (локальном): Создайте папку, в которую будет монтироваться удалённая:

mkdir ~/remote

Монтирование папки через SSHFS на первом компьютере

Теперь можно смонтировать удалённую папку на первом Mac. Выполните в терминале следующую команду:

sshfs your_login_second_pc@your_ip_second_pc:~/remote-project ~/remote -o allow_other,default_permissions,reconnect

Эта команда монтирует удалённую папку remote-project с другого Mac в локальную папку ~/remote на первом компьютере через sshfs. Опции которые используются в команде:

ОпцияНазначение
allow_otherРазрешает доступ к смонтированной папке не только пользователю, который выполнил монтирование, но и другим пользователям системы. Это нужно, например, если вы хотите, чтобы IDE (VS Code, WebStorm) могли видеть содержимое. ⚠️ Требует разрешения в /etc/fuse.conf.
default_permissionsИспользует стандартную проверку прав доступа Unix (владелец, группы, chmod), а не только SSH. Это помогает избежать проблем, когда файлы видны, но нельзя их открыть.
reconnectАвтоматически переподключается, если соединение по SSH временно прерывается (например, при обрыве Wi-Fi). Очень полезно, если соединение нестабильное.

По умолчанию опция allow_other может не работать, пока не будет добавлено разрешение в конфигурационный файл fuse.conf. Это связано с политиками безопасности macOS, которые ограничивают доступ к смонтированным файловым системам.

  1. В терминале и создайте файл fuse.conf:
sudo nano /etc/fuse.conf
  1. Добавьте строку:
user_allow_other
  1. Сохраните файл и повторно выполните команду монтирования
sshfs your_login_second_pc@your_ip_second_pc:~/remote-project ~/remote -o allow_other,default_permissions,reconnect

Как размонтировать папку

Чтобы размонтировать папку, выполните:

umount ~/Volumes/SSD/test-remote

Если получите ошибку Resource busy, попробуйте:

umount -f ~/Volumes/SSD/test-remote

N.B. Если не помните название смонтированной папки, можно посмотреть список смонтированных файловых систем командой:

mount

Резюмирую

Использование sshfs между двумя Mac — это простой способ организовать общий доступ к файлам без необходимости синхронизации или настройки сетевого диска. Особенно удобно для разработчиков, работающих с несколькими машинами в локальной сети. Используя sshfs вы можете работать с удалённой папкой так, как будто она находится на вашем локальном компьютере.