Как смонтировать удаленную файловую систему или каталог 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
На данный момент это все. Если вы столкнулись с какими-либо трудностями или вам нужна помощь в установке удаленной файловой системы, свяжитесь с нами через комментарии, и если вы считаете, что эта статья очень полезна, поделитесь ею с друзьями.