Библиотека сайта 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