CEX.io

воскресенье, 16 октября 2011 г.

Монтирование каталогов по SSH используя sshfs и fuse

     Можно легко и безопасно получить доступ к удаленной файловой системе используя sshfs и fuse с помощью команды монтирования (mount) удаленной файловой системы, по зашифрованному соединению посредством ssh.
     Таким образом прозрачно получаем доступ к удаленным файлам, как будто они на Вашей машине. Только нужно помнить, что если скорость соединения будет медленной, то естественно и доступ будет медленным.

Требуемые пакеты
  • sshfs
  • fuse-utils


Установка

Получаем Linux пакеты
  • для Debian:
    apt-get install fuse-utils sshfs

  • для Ubuntu:
    sudo apt-get install fuse-utils sshfs

  • для Fedora и CentOS:
    yum install fuse-utils sshfs

  • для Mandriva:
    urpmi fuse-utils sshfs

пробуем загрузить модуль fuse
modprobe fuse

затем создаем каталог для точки монтирования
mkdir /mnt/remote-fs

и задаем владельца этого каталога
chown your-user:your-group /mnt/remote-fs/

добавляем пользователя your-user в группу fuse
adduser your-user fuse

запуск вышеприведенных команд выполняется от пользователя root

и наконец выполняем команду монтирования файловой системы
sshfs remote-user@remote.server:/remote/directory /mnt/remote-fs/

или в общем виде
sshfs [remote-user@]remote.host:[dir] /mountpoint [options]
например в поле [options] можно поставить
 -o uid=1000,gid=1000
где uid,gid - это идентификаторы пользователя и группы,
которые можно получить из файла /etc/passwd
например с помощью команды
sudo cat /etc/passwd | grep your-user

де монтирование файловой системы выполняется следующей командой
fusermount -u /mnt/remote-fs

можно добавить автоматическое монтирование в fstab
sshfs#remote-user@remote-host:/home/remote-user /mnt/remote-fs fuse defaults 0 0

или не монтировать автоматически (например при загрузке), также разрешить монтирование всем пользователям входящим в группу fuse
sshfs#remote-user@remote-host:/home/remote-user /mnt/remote-fs fuse user,noauto 0 0

также можно использовать следующий вариант
sshfs#remote-user@remote.host:/dir /remote-dir fuse uid=1000,gid=1000 0 0
т.е. установить владельца для локально монтированных каталогов

и т.д.

после подобных изменений можно монтировать/демонтировать удаленные каталоги простыми командами

mount /mnt/remote-fs
umount /mnt/remote-fs

На этом все!

Источник: go2linux.org

1 комментарий:

oxfn комментирует...

спасибо, очень хорошо описано