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