Как смонтировать удалённую файловую систему или каталог Linux с использованием SSHFS через SSH
Главная цель написания этой статьи — предоставить пошаговое руководство по тому, как смонтировать удалённую файловую систему Linux с использованием клиента SSHFS через SSH.
Эта статья полезна для тех пользователей и системных администраторов, которые хотят подключить удалённую файловую систему к своим локальным системам для любых целей. Мы практически проверили это, установив клиент SSHFS на одну из наших систем Linux и успешно смонтировали удалённые файловые системы.
Прежде чем продолжить установку, давайте разберёмся с SSHFS и как он работает.
Что такое SSHFS?
SSHFS расшифровывается как (Secure SHell FileSystem) клиент, который позволяет монтировать удалённую файловую систему и взаимодействовать с удалёнными каталогами и файлами на локальной машине с использованием протокола передачи файлов по SSH (SFTP).
Рекомендуем к прочтению: 10 примеров команд sFTP для передачи файлов на удалённые серверы в Linux
SFTP — это защищённый протокол передачи файлов, который обеспечивает доступ к файлам, передачу файлов и функции управления файлами через протокол Secure Shell. Поскольку SSH использует шифрование при передаче файлов по сети с одного компьютера на другой, а SSHFS поставляется с встроенным модулем ядра FUSE (Файловая система в пространстве пользователя), который позволяет любым непривилегированным пользователям создавать свою файловую систему без изменения кода ядра.
В этой статье мы покажем вам, как установить и использовать клиент SSHFS на любой дистрибутив Linux для монтирования удаленной файловой системы или каталога Linux на локальную машину Linux.
Шаг 1: Установите клиент SSHFS в системах Linux
По умолчанию пакеты sshfs отсутствуют во всех крупных дистрибутивах Linux, вам нужно включить репозиторий epel в вашей системе Linux для установки sshfs с помощью команды Yum вместе с их зависимостями.
# yum install sshfs
# dnf install sshfs [On Fedora 22+ releases]
$ sudo apt-get install sshfs [On Debian/Ubuntu based systems]
Шаг 2: Создание каталога для монтирования SSHFS
После установки пакета sshfs необходимо создать каталог точки монтирования, где вы будете монтировать вашу удалённую файловую систему. Например, мы создали каталог монтирования в /mnt/tecmint.
# mkdir /mnt/tecmint
$ sudo mkdir /mnt/tecmint [On Debian/Ubuntu based systems]
Шаг 3: Подключение удалённой файловой системы с помощью SSHFS
После того как вы создали каталог точки монтирования, теперь выполните следующую команду от имени пользователя style="color: red;">root, чтобы смонтировать удалённую файловую систему в /mnt/tecmint. В вашем случае каталог монтирования может быть любым.
Следующая команда смонтирует удалённый каталог с именем /home/tecmint в /mnt/tecmint на локальной системе. (Не забудьте заменить x.x.x.x на ваш IP-адрес и точку монтирования).
# sshfs [email :/home/tecmint/ /mnt/tecmint
$ sudo sshfs -o allow_other [email :/home/tecmint/ /mnt/tecmint [On Debian/Ubuntu based systems]
Если ваш сервер Linux настроен с использованием авторизации на основе SSH-ключей, то вам потребуется указать путь к вашим открытым ключам, как показано в следующей команде.
# sshfs -o IdentityFile=~/.ssh/id_rsa [email :/home/tecmint/ /mnt/tecmint
$ sudo sshfs -o allow_other,IdentityFile=~/.ssh/id_rsa [email :/home/tecmint/ /mnt/tecmint [On Debian/Ubuntu based systems]
Шаг 4: Проверка монтирования удалённой файловой системы
Если вы успешно выполнили приведённую выше команду без каких-либо ошибок, вы увидите список удалённых файлов и каталогов, смонтированных под /mnt/tecmint.
# cd /mnt/tecmint
# ls[root@ tecmint]# 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 pollbeta.tar.bz2Шаг 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
[email :/home/tecmint fuse.sshfs 324G 55G 253G 18% /mnt/tecmint
Рекомендуем к прочтению: 12 полезных команд «df» для проверки дискового пространства в Linux
Шаг 6: Постоянное подключение удалённой файловой системы
Чтобы постоянно монтировать удалённую файловую систему, необходимо отредактировать файл под названием /etc/fstab. Для этого откройте файл с помощью вашего любимого редактора.
# vi /etc/fstab
$ sudo vi /etc/fstab [On Debian/Ubuntu based systems]
Перейдите в конец файла и добавьте в него следующую строку, затем сохраните файл и выйдите. Ниже приведена запись для монтирования файловой системы удаленного сервера с настройками по умолчанию.
sshfs#[email :/home/tecmint/ /mnt/tecmint fuse.sshfs defaults 0 0
Убедитесь, что у вас настроен вход по SSH без пароля между серверами для автоматического монтирования файловой системы при перезагрузке системы.
Если ваш сервер настроен с использованием авторизации по ключу SSH, добавьте эту строку:
sshfs#[email :/home/tecmint/ /mnt/tecmint fuse.sshfs IdentityFile=~/.ssh/id_rsa defaults 0 0
Далее вам нужно обновить файл fstab, чтобы отразить изменения.
# mount -a
$ sudo mount -a [On Debian/Ubuntu based systems]
Шаг 7: Отмонтирование удалённой файловой системы
Чтобы размонтировать удалённую файловую систему, выполните следующую команду, она размонтирует удалённую файловую систему.
# umount /mnt/tecmintНа этом пока всё. Если вы сталкиваетесь с какими-либо трудностями или нуждаетесь в помощи с монтированием удалённой файловой системы, пожалуйста, свяжитесь с нами через комментарии, а если вы считаете эту статью полезной, поделитесь ею с друзьями.
