en
ru

Autofs и sshfs - подключение удаленных каталогов

SSHFS (Secure SHell FileSystem)это файловая система для Linux (и других операционных систем, для которых существует реализация FUSE (Filesystem in Userspace), например Mac OS X), используемая для удаленного управления файлами по протоколу SSH (точнее, его расширению SFTP) таким образом, как будто они находятся на локальном компьютере.

AUTOFS сервис  предназначен для автоматического монтирования файловых систем (съёмных носителей, сетевых ресурсов ...) по запросу.

 

Подключение удаленных каталогов по SSHFS с помощью AutoFS

Для начала установим sshfs и autofs. Выполним команду:

sudo aptitude install sshfs autofs

 

Доступ по ssh без пароля

Сделаем возможным подключение по ssh к удаленному серверу по ключу, а не по паролю:
Генерируем RSA ключи с правами root:

sudo ssh-keygen -t rsa

(Вводим свой пароль.)

Отвечаем на вопросы:
1. Enter file in which to save the key (/root/.ssh/id_rsa): - соглашаемся на значение по умолчанию.
2. Enter passphrase (empty for no passphrase): - Оставляем значение пустым. Паролем пользоваться не будем.
3. Enter same passphrase again: - Снова оставляем значение пустым.

Скрипт создал 2 ключа: приватный и публичный.
Your identification has been saved in /root/.ssh/id_rsa. - секретный приватный ключ для декодирования.
Your public key has been saved in /root/.ssh/id_rsa.pub. - публичный ключ для кодирования.

Сейчас нужно скопировать на сервер наш публичный ключ:

sudo ssh-copy-id -i ~/.ssh/id_rsa.pub '-p 22 user@server'

Всё. Теперь попробуем залогиниться:

sudo ssh -p22 user@server

 

Настройка autofs.

Открываем на редактирование файл /etc/auto.master:

sudo nano /etc/auto.master

и добавляем строку:

/mnt/sshfs /etc/auto.sshfs uid=1000,gid=1000,--timeout=6000,--ghost

где /mnt/sshfs - это папка, за которой будет следить наш autofs.

Теперь создадим файл /etc/auto.sshfs

sudo nano /etc/auto.sshfs

и запишем в него:

server1 -fuse,port=22,rw,nodev,nonempty,noatime,allow_other,max_read=65536 :sshfs\#user@server\:/home/user

Создаем папку, куда будет монтироваться каталог на удаленном сервере:

sudo mkdir /mnt/sshfs

И перезапускаем сервис autofs:

sudo service autofs restart

Теперь у нас все настроено. При заходе в папку /mnt/sshfs у нас автоматически примонтируется сервер, что можно сразу же проверить.