Поиск по сайту:

Как смонтировать удаленную файловую систему или каталог 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

Создав каталог точки монтирования, запустите следующую команду от имени пользователя 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

На данный момент это все. Если вы столкнулись с какими-либо трудностями или вам нужна помощь в установке удаленной файловой системы, свяжитесь с нами через комментарии, и если вы считаете, что эта статья очень полезна, поделитесь ею с друзьями.