Перейти к содержимому

SSHFS — подключаем файловую систему по SSH

SSHFS — клиент, который позволяет монтировать удаленную файловую систему и взаимодействовать с удаленными каталогами и файлами на локальной машине с использованием протокола SSH File Transfer Protocol (SFTP).

Установка SSHFS

Ubuntu/Debian

sudo apt-get install sshfs

CentOS

sudo yum install sshfs

macOS

brew cask install osxfuse brew install sshfs

Монтирование файловой системы

Для монтирования файловой системы нам нужно создать точку монтирования на локальном компьютере. Создадим папку remotefs в домашней папке вашего пользователя.

mkdir ~/remotefs

Команда монтирования выглядит следующим образом

sshfs имя_пользователя@ip_адрес:/удаленный/путь /точка/монтирования


Для монтирования удаленной папки /var/www/unixhost на сервере unixvds.host от пользователя root в папку /home/unixuser/remotefs нам нужно выполнить следующую команду

sshfs [email protected]:/var/www/unixhost /home/unixuser/remotefs

Для того чтобы размонтировать примонтированную файловую систему достаточно выполнить команду umount и указать папку в которую файловая система была примонтирована

umount /home/unixuser/remotefs

Автоматическое монтирование SSHFS

Для того чтобы удаленная файловая система монтировалась при загрузки системы, нужно в файл /etc/fstab добавить строку монтирования

/var/www/unixhost /home/unixuser/remotefs  fuse.sshfs noauto,x-systemd.automount,_netdev,follow_symlinks,allow_other,default_permissions,reconnect 0 0

Опции SSHFS

Если для подключения к серверу вы используете SSH ключ то вы должны указать путь к вашему ключу используя опцию IdentityFile

sshfs [email protected]:/var/www/unixhost /home/unixuser/remotefs -o IdentityFile=/ssh/key/path

В случаи если по каким-либо причинам связь с вашим удаленным сервером нестабильная и постоянно обрывается то для того чтобы при разрыве связи не выполнять подключение повторно, в качестве опции, достаточно указать -o reconnect

sshfs [email protected]:/var/www/unixhost /home/unixuser/remotefs -o reconnect