Основная цель написания этой статьи — предоставить пошаговое руководство о том, как подключить удаленную файловую систему в Linux с использованием SSHFS-клиента через SSH.
Эта статья полезна для тех пользователей и системных администраторов, которые хотят подключить удаленную файловую систему на своих локальных системах в любых целях. Мы практически протестировали установку SSHFS-клиента на одной из наших систем Linux и успешно смонтировали удаленные файловые системы.
Прежде чем мы продолжим установку, давайте разберемся с 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.
Шаг 2. Создание каталога монтирования SSHFS.
После установки пакета sshfs вам необходимо создать каталог точек монтирования, в котором вы будете монтировать вашу удаленную файловую систему. Например, мы создали каталог монтирования в /mnt/sedicomm.
Шаг 3: Установка удаленной файловой системы с помощью SSHFS
После того, как вы создали свой каталог точек монтирования, выполните следующую команду в качестве пользователя root, чтобы подключить удаленную файловую систему в /mnt/sedicomm.
Следующая команда установит удаленный каталог под названием /home/sedicomm под /mnt/sedicomm в локальной системе. (Не забудьте заменить x.x.x.x своим IP-адресом и точкой подключения).
Если ваш Linux-сервер настроен с авторизацией на основе SSH-ключа, вам нужно указать путь к вашим открытым ключам, как показано в следующей команде.
Шаг 4. Проверка установки удаленной файловой системы
Если вы успешно выполнили вышеуказанную команду без каких-либо ошибок, вы увидите список удаленных файлов и каталогов, установленных в /mnt/sedicomm.
Шаг 5: Проверка точки монтирования с помощью команды df -hT
Если вы запустите команду df -hT, вы увидите точку монтирования удаленной файловой системы.
Шаг 6: Установка удаленной файловой системы на постоянной основе
Чтобы смонтировать удаленную файловую систему на постоянной основе, вам необходимо отредактировать файл с именем /etc/fstab. Для этого откройте файл с помощью вашего любимого редактора.
Перейдите в конец файла и добавьте в него следующую строку, сохраните файл и выйдите из него. Нижняя файловая система удаленного сервера монтирования монтируется с настройками по умолчанию.
Убедитесь, что у вас есть SSH Passwordless Login между серверами для автоматической установки файловой системы во время перезагрузки системы.
Если ваш сервер настроен с использованием авторизации на основе ключа SSH, добавьте эту строку:
Затем вам нужно заново прочитать файл fstab, чтобы изменения вступили в силу.
Шаг 7: Отключение удаленной файловой системы
Чтобы размонтировать удаленную файловую систему, можно воспользоваться командой umount.
Спасибо за уделенное время на прочтение статьи!
Если возникли вопросы, задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet (программируемые сети) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
5 комментариев. Оставить новый
sshfs#[email protected]:/home/sedicomm/ /mnt/sedicomm fuse.sshfs IdentityFile=~/.ssh/id_rsa defaults 0 0
tester@tester:~$ sudo mount -a
fuse: mountpoint is not empty
fuse: if you are sure this is safe, use the ‘nonempty’ mount option
Нужно убрать «sshfs#» и изменить на:
[email protected]:/home/sedicomm/ /mnt/sedicomm fuse.sshfs IdentityFile=~/.ssh/id_rsa defaults 0 0
Спасибо! Исправили.
а как с винды подключиться удаленно к папке?
Добрый день.
Не проходит 3-й шаг:
sudo sshfs -o allow_other user@user-DELL: /home/user/ /mnt/user-DELL
Ответ:
fuse: invalid argument `/mnt/user-DELL’
здесь user-DELL — имя удаленного носта, IP адрес которого прописан в /etc/hosts
подскажите, пожалуйста, в чем может быть проблема
Спасибо, замечательно, работает! Я и не знал что так можно было 🙂
Только в строке
$ sudo sshfs -o allow_other [email protected]: /home/sedicomm/ /mnt/sedicomm[В системах на базе Debian / Ubuntu]
..пробел лишний. И в строке выше- не проверял, но, похоже, тоже лишний