FUSE (filesystem in userspace) — модуль для ядер Unix-подобных операционных систем, позволяет монтировать пользователям без привилегий удаленные файловые системы. Это достигается за счёт запуска кода файловой системы в пользовательском пространстве, а модуль FUSE является связующим между ядром и пользовательским интерфейсом (userspace). C использованием средств FUSE разработаны SSHFS, NTFS-3G, GlusterFS, ZFS.
Распространяется под лицензиями GNU GPL и LGPL. Официально включён в главное дерево ядра Linux с версии 2.6.14
Более простыми словами… Пользователь без привилегий может смонтировать себе файловую систему на удаленном сервере по безопасному соединению через ssh.
Будем подключаться с CentOS на Debian, можно и наоборот с изменением команды yum на apt.
Ставим sshfs:
$ sudo yum install sshfs
Создаем папку для монтирования удаленной папки:
$ mkdir /home/local_user/ruser
Подключаемся:
$ sshfs remoute_user@server_name:/dir/ /home/local_user/ruser
Если порт SSH отличается от стандартного, то (например 1234):
$ sshfs -p 1234 local_user@server_name:/dir/ /home/local_user/ruser
Проверить смонтированный диск:
$ df -Th
Отмонтировать:
$ fusermount -u /home/local_user/ruser
Автоподключение
Если необходимо постоянное подключение, то должна быть настроена аутентификация по ssh ключу на сервере, иначе автоматическое монтирование не произойдет. Проще говоря, ssh подключение к удаленному серверу без ввода пароля.
Отредактируем /etc/fstab:
$ sudo echo "remoute_user@server_name:/dir/ /home/local_user/ruser fuse.sshfs defaults,_netdev,allow_other,reconnect,uid=1000,IdentityFile=/home/local_user/.ssh/id_rsa 0 0" >> /etc/fstab
Что мы указали? Поскольку подключение происходит через ssh, а монтирование файловых систем от имени root, то и файл ключа операционная система будет искать в директории /root/.ssh/, а для пользователя local_user ключ расположен в его домашней директории /home/local_user/.ssh/, поэтому необходима настройка авторизации через ssh ключи и явное указание на конкретный ключ (не root). uid=1000 — это uid локального пользователя (local_user) кому подключаем. Кроме того, нужно один раз подключиться к серверу от имени пользователя root — чтобы был создан файл /root/.ssh/known_hosts.
Сделаем эти настройки:
$ ssh-keygen
$ ssh-copy-id -i ~/.ssh/id_rsa.pub remoute_user@server_name
Проверим, подключение должно произойти без пароля:
$ ssh remoute_user@server_name
и от имени root:
# ssh -i /home/local_user/.ssh/id_rsa remoute_user@server_name
Fstab не единственный метод монтирования разделов при загрузке, можно использовать аналогично и другие методы.
Дополнительно: https://wiki.archlinux.org/index.php/SSHFS_(Русский)