SSHFS

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

Что такое SSHFS?

SSHFS означает (Secure Shell FileSystem) клиент, который позволяет нам монтировать удаленную файловую систему и взаимодействовать с удаленными каталогами и файлами на локальной машине с использованием протокола SSH File Transfer Protocol (SFTP).
SFTP — это безопасный протокол передачи файлов, который обеспечивает доступ к файлам, передачу файлов и управление файлами через протокол Secure Shell. Поскольку SSH использует шифрование при передаче файлов по сети с одного компьютера на другой компьютер, а SSHFS поставляется со встроенным модулем ядра FUSE(файловая система в пространстве пользователей), который позволяет любым непривилегированным пользователям создавать свою файловую систему без изменения кода ядра.
В этой статье мы покажем вам, как установить и использовать клиент SSHFS в любом дистрибутиве Linux для монтирования удаленной файловой системы или каталога на локальной машине Linux.

Шаг 1. Установка клиента SSHFS в системах Linux

Пакеты sshfs не предустановлены в основных дистрибутивах Linux, вам нужно включить репозиторий epel для установки sshfs с помощью команды Yum.
# yum install sshfs
# dnf install sshfs [В версиях Fedora 22+]
$ sudo apt-get install sshfs [В системах на базе Debian / Ubuntu]

Шаг 2. Создание каталога монтирования SSHFS.

После установки пакета sshfs вам необходимо создать каталог точек монтирования, в котором вы будете монтировать вашу удаленную файловую систему. Например, мы создали каталог монтирования в /mnt/sedicomm.
# mkdir /mnt/sedicomm
$ sudo mkdir /mnt/sedicomm[В системах на базе Debian / Ubuntu]

Шаг 3: Установка удаленной файловой системы с помощью SSHFS

После того, как вы создали свой каталог точек монтирования, выполните следующую команду в качестве пользователя root, чтобы подключить удаленную файловую систему в /mnt/sedicomm.
Следующая команда установит удаленный каталог под названием /home/sedicomm под /mnt/sedicomm в локальной системе. (Не забудьте заменить x.x.x.x своим IP-адресом и точкой подключения).
# sshfs sedicomm@x.x.x.x: /home/sedicomm/ /mnt/sedicomm
$ sudo sshfs -o allow_other sedicomm@x.x.x.x: /home/sedicomm/ /mnt/sedicomm[В системах на базе Debian / Ubuntu]

Если ваш Linux-сервер настроен с авторизацией на основе SSH-ключа, вам нужно указать путь к вашим открытым ключам, как показано в следующей команде.
# sshfs -o IdentityFile = ~/.ssh/id_rsa sedicomm@x.x.x.x:/home/sedicomm/ /mnt/sedicomm
$ sudo sshfs -o allow_other, IdentityFile = ~/.ssh/id_rsa sedicomm@x.x.x.x:/home/sedicomm/ /mnt/sedicomm[В системах на базе Debian / Ubuntu]

Шаг 4. Проверка установки удаленной файловой системы

Если вы успешно выполнили вышеуказанную команду без каких-либо ошибок, вы увидите список удаленных файлов и каталогов, установленных в /mnt/sedicomm.
# cd /mnt/sedicomm
# ls

[root@ sedicomm]# ls
12345.jpg ffmpeg-php-0.6.0.tbz2 Linux news-closeup.xsl s3.jpg
cmslogs gmd-latest.sql.tar.bz2 Malware newsletter1.html sshdallow
epel-release-6-5.noarch.rpm json-1.2.1 movies_list.php pollbeta.sql
ffmpeg-php-0.6.0 json-1.2.1.tgz my_next_artical_v2.php 

Шаг 5: Проверка точки монтирования с помощью команды df -hT

Если вы запустите команду df -hT, вы увидите точку монтирования удаленной файловой системы.
# df -hT

Образец вывода:
Filesystem Type Size Used Avail Use% Mounted on
udev devtmpfs 730M 0 730M 0% /dev
tmpfs tmpfs 150M 4.9M 145M 4% /run
/dev/sda1 ext4 31G 5.5G 24G 19% /
tmpfs tmpfs 749M 216K 748M 1% /dev/shm
tmpfs tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs tmpfs 749M 0 749M 0% /sys/fs/cgroup
tmpfs tmpfs 150M 44K 150M 1% /run/user/1000
sedicomm@192.168.0.102:/home/sedicomm fuse.sshfs 324G 55G 253G 18% /mnt/sedicomm

Шаг 6: Установка удаленной файловой системы на постоянной основе

Чтобы смонтировать удаленную файловую систему на постоянной основе, вам необходимо отредактировать файл с именем /etc/fstab. Для этого откройте файл с помощью вашего любимого редактора.
# vi /etc/fstab
$ sudo vi /etc/fstab [В системах на базе Debian / Ubuntu]

Перейдите в конец файла и добавьте в него следующую строку и сохраните файл и выйдите из него. Нижняя файловая система удаленного сервера монтирования монтируется с настройками по умолчанию.
sshfs#sedicomm@x.x.x.x: /home/sedicomm/ /mnt/sedicomm fuse.sshfs defaults 0 0

Убедитесь, что у вас есть SSH Passwordless Login между серверами для автоматической установки файловой системы во время перезагрузки системы.
Если ваш сервер настроен с использованием авторизации на основе ключа SSH, добавьте эту строку:
sshfs#sedicomm@x.x.x.x:/home/sedicomm/ /mnt/sedicomm fuse.sshfs IdentityFile=~/.ssh/id_rsa defaults 0 0

Затем вам нужно перечитать файл fstab, чтобы изменения вступили в силу.
# mount -a
$ sudo mount -a [В системах на базе Debian / Ubuntu]

Шаг 7: Отключение удаленной файловой системы

Чтобы размонтировать удаленную файловую систему, можно воспользоваться командой umount.
# umount /mnt/sedicomm

Комментарии

Популярные сообщения из этого блога

Права на папки и файлы (unix/chmod)

Автоматическое монтирование дисков и разделов в Linux или что такое fstab? Проблема Debian

Как подключить сетевой диск Windows в Linux