Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Удаленное монтирование файловых систем с помощью SSHFS

Оригинал: Mount Remote Filesystems Over SSH Using SSHFS
Авторы: Senthilkumar
Дата публикации: 21 декабря 2013 года
Перевод: А. Кривошей
Дата перевода: июль 2014 г.

Все мы пользуемся NFS, Samba и OpenAFS для монтирования и доступа к удаленным файловым системам по сети. К сожалению, для установки серверов NFS, Samba или OpenAFS на обеих машинах нам потребуются привилегии администратора. Но теперь мы можем монтировать и получать доступ к удаленным файловым системам без установки дополнительных программ с помощью SSHFS. Так как все современные операционные системы поддерживают SSH, мы легко можем монтировать удаленные файловые системы на своей машине.

SSHFS - это клиент файловой системы на базе SSH File Transfer Protocol. Так как большинство SSH-серверов уже поддерживают этот протокол, настроить его очень просто. На стороне клиента для монтирования файловой системы необходимо просто авторизоваться на сервере с помощью ssh. На стороне сервера не требуется делать каких-либо дополнительных настроек. Все, что вам нужно - на удаленном сервере должен быть работающий SSH-сервер.

Возможности:

- основан на FUSE (лучший фреймворк файловой системы пользовательского пространства для Linux);
- многопоточность: работа с несколькими запросами одновременно;
- кэширование контента директории.

Установка SSHFS

В Debian/Ubuntu:

SSHFS доступен в стандартных репозиториях Debian/Ubuntu и их производных. Поэтому мы можем установить его с помощью команды:

# apt-get install sshfs

В RHEL/CentOS:

В стандартных репозиториях SSHFS нет, поэтому необходимо подключить репозиторий EPEL. Для этого в RHEL/CentOS 6.x необходимо скачать пакет репозитория и установить его:

# rpm -Uvh http://epel.mirror.net.in/epel/6/i386/epel-release-6-8.noarch.rpm

Теперь обновите список пакетов и установите sshfs:

# yum update
# yum install sshfs

Использование

SSHFS очень прост в использовании.

$ sshfs hostname-of-remote-system:directory-path mountpoint
$ sshfs ip-address-of-remote-system:directory-path mountpoint

Обратите внимание, что вам не нужны привилегии root для монтирования удаленных файловых систем при использовании SSHFS. Все можно делать от имени обычного пользователя.

Например, я собираюсь смонтировать директорию моего сервера Debian на десктопе Ubuntu.

Создаем точку монтирования в локальной системе.

$ mkdir /home/sk/sshfs/

Монтируем удаленную системную директорию с помощью команды:

$ sshfs root@192.168.1.200:/ /home/sk/sshfs/

Здесь,
192.168.1.200 - IP-адрес сервера Debian.
/ - корневая директория моего сервера Debian, которую я монтирую в локальной системе.
/home/sk/sshfs - точка монтирования в моей локальной системе Ubuntu.
Теперь вы можете проверить, смонтирована ли удаленная директория:

$ df -h

Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             292G  238G   40G  86% /
none                  4.0K     0  4.0K   0% /sys/fs/cgroup
udev                  989M   12K  989M   1% /dev
tmpfs                 200M  872K  199M   1% /run
none                  5.0M     0  5.0M   0% /run/lock
none                  998M  6.7M  991M   1% /run/shm
none                  100M   20K  100M   1% /run/user
root@192.168.1.200:/   19G   16G  2.0G  89% /home/sk/sshfs

Или вы можете проверить это из файлового менеджера:

файловый менеджер:

Чтобы отмонтировать удаленную файловую систему, просто введите следующую команду:

$ fusermount -u /home/sk/sshfs