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

UnixForum





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

SSHFS: простая система для работы с удаленными директориями

Оригинал: SSHFS: A Simple System for Working with Remote Directories
Автор: Narendra Kangralkar
Дата публикации: 5 октября 2018 года
Перевод: А. Кривошей
Дата перевода: октябрь 2018 г.

В Linux SSHFS, или файловая система SSH, используются для монтирования и взаимодействия с каталогами и файлами, расположенными на удаленном сервере. Давайте рассмотрим, как использовать эту файловую систему.

В крупных организациях очень часто существуют отдельные машины для разработки и сборки программ. Зачастую много времени тратится на копирование изменений с машины разработчика на машину для сборки. Было бы здорово, если бы мы могли использовать удаленный каталог как локальный? Это очень легко сделать в GNU/Linux, и в этой статье рассказывается, как это сделать.

Обзор

SSHFS - это файловая система fuse, основанная на протоколе SSH, и одним из ее больших преимуществ является то, что она должна устанавливаться только на стороне клиента. Установка или настройка на стороне сервера не требуется. Единственное требование заключается в том, что на стороне сервера должен быть установлен сервер openSSH. В этой статье мы обсудим использование и различные функции SSHFS.

Установка

Установка SSHFS довольно проста - это похоже на установку любых других пакетов. Если вы используете дистрибутив GNU/Linux на базе Debian, такой как Debian, Mint или Ubuntu, выполните следующие команды:

$ sudo apt-get update
$ sudo apt-get install sshfs

Если вы используете GNU/Linux на базе RPM, например Red Hat или CentOS, выполните следующие команды:

$ sudo yum update
$ sudo yum install fuse-sshfs

Монтирование удаленной директории

Синтаксис команды SSHFS:

sshfs [user@]host:[directory] mountpoint [options]

Для монтирования удаленной директории в GNU/Linux выполните следующую команду:

$ sshfs jarvis@192.168.10.20:/home/jarvis/src /mnt

В этой команде:

jarvis - это пользователь;
192.168.10.20 - это IP-адрес удаленного хоста;
/home/jarvis/src - директория на удаленном хосте;
/mnt - точка монтирования.

Настройка монтирования без ввода пароля

В приведенном выше методе каждый раз, когда вы монтируете каталог, он запрашивает ваши учетные данные. Мы можем избежать этого, настроив SSH на работу без пароля между этими двумя машинами. Для этого выполните следующие команды:

$ ssh-keygen -t rsa
$ ssh-copy-id -i ~/.ssh/id_rsa.pub jarvis@192.168.10.20

В приведенном выше примере:

- первая команда создает пары ключей RSA;
- вторая команда копирует открытый ключ RSA на удаленный хост.

Размонтирование каталога

Процесс размонтирования точно такой же, как размонтирование обычных каталогов. Чтобы размонтировать каталог, выполните следующую команду:

$ umount /mnt

или:

$ fusermount -u mountpoint

Постоянное монтирование директории

Если каталог монтируется вручную, точка монтирования не сохранится при перезагрузке компьютера. Чтобы создать сохдать постоянную точку монтирования, мы можем настроить автомонтирование во время загрузки. Чтобы сделать это, необходимо настроить SSH на работу без пароля между двумя машинами, как объяснялось ранее.

Следующая запись должна быть добавлена в файл /etc/fstab:

sshfs#jarvis@192.168.10.20:/home/jarvis/src /mnt fuse defaults 0 0

В приведенной выше команде:

sshfs# указывает, что монтирование должно выполняться с использованием SSHFS;
jarvis - пользователь;
192.168.10.20 - это IP-адрес удаленного узла;
/home/jarvis/src - это каталог с удаленного хоста;
/mnt - точка монтирования;
fuse - тип файловой системы;
defaults - опции файловой системы.

Последние два параметра связаны с резервным копированием и проверкой ошибок.

Различные опции

В этом разделе обсуждаются различные опции SSHFS, которые можно использовать для настройки ее поведения по умолчанию.

-C: включает сжатие;
-d: включает режим отладки;
-f: включает режим переднего плана;
-o cache = no: отключает механизм кэширования;
-o cache_timeout = N: устанавливает значение тайм-аута кеша в секундах.

SSHFS - очень полезная утилита, и она действительно облегчает жизнь. Другим ее преимуществом является то, что поведение удаленной точки монтирования идентично поведению локальной директории. Пользователи могут создавать, удалять, изменять файлы и выполнять другие операции, поддерживаемые файловой системой.