В этой статье мы рассмотрим подключение к удаленному каталогу через терминал с помощью ssh. С помощью этого вы сможете копировать и редактировать файлы из терминала так, будто они у вас на диске.
Установка FUSE и SSHFS
Для подключения понадобятся FUSE и SSHFS. Чтобы их установить воспользуемся установщиком brew. Если он у вас не установлен, то это можно сделать с помощью следующей команды:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Для установки FUSE нужно выполнить команду:
brew cask install osxfuse
Установим SSHFS:
brew install sshfs
Подключение папки
Теперь, для подключения к удаленному серверу можете выполнить команду:
sudo sshfs -o allow_other,defer_permissions,IdentityFile=~/.ssh/id_rsa USER@HOST:/REMOTE_PATH/ /LOCAL_PATH
Вместо USER, HOST, REMOTE_PATH подставляете логин, адрес сервера, а также путь к удаленной папке на сервере. Вместо LOCAL_PATH подставляете путь на компьютере, где бы вы хотели работать с удаленным сервером.
Чтобы проверить все смонтированные папки, выполните команду mount
, внизу её вывода должна появиться строка вида:
user@host:/remotefolder/ on /localfolder (osxfuse, synchronous)
Отключение папки
Для отключения необходимо вызвать команду umount и передать к ней путь к удаленному каталогу:
umount USER@HOST:/REMOTE_PATH/
Возможные проблемы
Если у вас по какой-то причине зависло приложение sshfs и не удается подключить/отключить каталог, то выполните следующие команды:
pgrep -lf sshfs kill -9 PID_SSHFS_PROCESS sudo umount -f MOUNTED_CATALOG
Вместо PID_SSHFS_PROCESS нужно подставить PID процесса sshfs, он получится в результате выполнения первой команды. Второй строкой мы останавливаем процесс sshfs, а затем с правами root принудительно демонтируем раздел из файловой системы.
P.S.: Такой способ подключения не позволит увидеть папку в Finder, но позволит работать с ней из терминала.