Папка монтирования Linux с другого сервера

Обновлено: 07.07.2024

Иногда некоторые задачи системного администрирования требуют доступа к одной и той же файловой системе из нескольких мест в дереве каталогов (например, при подготовке среды chroot). Это возможно, и Linux позволяет монтировать одну и ту же файловую систему в любое количество каталогов. Кроме того, команда mount реализует параметр --bind, который предоставляет средства для дублирования определенных монтирований. Его использование выглядит следующим образом:

Хотя эта команда позволяет пользователю получить доступ к файловой системе из обоих мест, она не применяется к файловым системам, смонтированным в исходном каталоге. Чтобы включить и эти средства передвижения, введите:

Кроме того, чтобы обеспечить максимальную гибкость, в Red Hat Enterprise Linux 6 реализована функция, известная как общие поддеревья. Эта функция позволяет использовать следующие четыре типа монтирования:

Общее монтирование позволяет создать точную копию заданной точки монтирования. Когда точка монтирования помечена как общая, любое монтирование в пределах исходной точки монтирования отражается в ней, и наоборот. Чтобы изменить тип точки монтирования на общий, введите в командной строке следующее:

В качестве альтернативы, чтобы изменить тип подключения для выбранной точки подключения и всех точек подключения под ней, введите:

Пример 18.4. Создание общей точки монтирования

Есть два места, где обычно монтируются другие файловые системы: каталог /media для съемных носителей и каталог /mnt для временно монтируемых файловых систем. Используя общее монтирование, вы можете сделать так, чтобы эти два каталога имели один и тот же контент. Для этого от имени пользователя root пометьте каталог /media как «общий»:

Теперь можно убедиться, что монтирование в /media также отображается в /mnt . Например, если дисковод компакт-дисков содержит непустой носитель и существует каталог /media/cdrom/, выполните следующие команды:

Аналогичным образом можно проверить, что любая файловая система, смонтированная в каталоге /mnt, отражается в /media. Например, если подключен непустой USB-накопитель, использующий устройство /dev/sdc1, и присутствует каталог /mnt/flashdisk/, введите:

Вспомогательное монтирование позволяет создать ограниченную копию данной точки монтирования. Когда точка монтирования помечена как ведомая, любое монтирование в пределах исходной точки монтирования отражается в ней, но никакое монтирование в ведомой точке монтирования не отражается в ее оригинале. Чтобы изменить тип точки монтирования на подчиненное монтирование, введите в командной строке следующее:

Кроме того, можно изменить тип подключения для выбранной точки подключения и всех точек подключения под ней, набрав:

Пример 18.5. Создание подчиненной точки монтирования

В этом примере показано, как сделать так, чтобы содержимое каталога /media отображалось и в /mnt, но без каких-либо подключений в каталоге /mnt, которые должны отражаться в /media . Как пользователь root, сначала пометьте каталог /media как «общий»:

Теперь убедитесь, что монтирование в /media также отображается в /mnt . Например, если дисковод компакт-дисков содержит непустой носитель и существует каталог /media/cdrom/, выполните следующие команды:

Также убедитесь, что файловые системы, смонтированные в каталоге /mnt, не отображаются в каталоге /media . Например, если подключен непустой USB-накопитель, использующий устройство /dev/sdc1, и присутствует каталог /mnt/flashdisk/, введите:

Частное монтирование — это тип монтирования по умолчанию, и, в отличие от общего или подчиненного монтирования, оно не получает и не пересылает никаких событий распространения. Чтобы явно пометить точку монтирования как частную, введите в командной строке следующее:

Кроме того, можно изменить тип монтирования для выбранной точки монтирования и всех точек монтирования под ней:

Пример 18.6. Создание частной точки монтирования

Принимая во внимание сценарий в Примере 18.4, «Создание общей точки монтирования», предположим, что общая точка монтирования была ранее создана с помощью следующих команд от имени пользователя root :

Теперь можно убедиться, что ни одно из подключений в /media не отображается в /mnt . Например, если в приводах компакт-дисков есть непустые носители и существует каталог /media/cdrom/, выполните следующие команды:

Также можно убедиться, что файловые системы, смонтированные в каталоге /mnt, не отражаются в каталоге /media. Например, если подключен непустой USB-накопитель, использующий устройство /dev/sdc1, и присутствует каталог /mnt/flashdisk/, введите:

Чтобы предотвратить дублирование данной точки монтирования, используется несвязываемое монтирование. Чтобы изменить тип точки монтирования на непривязываемую, введите в командной строке следующее:

Кроме того, можно изменить тип монтирования для выбранной точки монтирования и всех точек монтирования под ней:

Иногда вам может понадобиться смонтировать удаленный каталог или файловую систему в Linux. В этой статье мы узнаем, как это сделать с помощью клиента SSHFS через SSH.Вы можете использовать эти шаги для подключения удаленных папок к их локальной системе.

Что такое SSHFS?

SSHFS означает файловую систему Secure Shell, которая позволяет монтировать удаленные папки и файловые системы через локальный компьютер и получать к ним доступ через SFTP (протокол защищенной передачи файлов). Он поставляется с FUSE (файловая система в пользовательском пространстве), который позволяет любому безопасно создавать свою файловую систему без изменения кода ядра.

Как смонтировать удаленный каталог или файловую систему в Linux

Вот шаги для монтирования удаленного каталога или файловой системы в Linux.

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

По умолчанию sshfs отсутствует в большинстве дистрибутивов Linux. Откройте терминал и выполните следующую команду, чтобы установить SSHFS в вашей системе. Вот команды для установки SSHFS в разных системах Linux.

2. Создать каталог подключения SSHFS

После установки SSHFS вам необходимо создать точку подключения для вашей папки, куда вы будете подключать удаленную папку. Вот команда для создания точки монтирования в /mnt/test

3. Подключить удаленную папку

После того как вы создали точку подключения для своей папки, выполните следующую команду, чтобы смонтировать удаленную папку как корневую. Мы смонтируем удаленную папку /home/test в локальную папку /mnt/test. Замените x.x.x.x на IP-адрес вашей удаленной папки. Замените test_user на ваше удаленное имя пользователя. Замените /home/test на расположение вашей удаленной папки.

Если ваш сервер Linux настроен на авторизацию на основе ключей, вам потребуется указать путь к открытым ключам.

4. Убедитесь, что удаленная файловая система смонтирована

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

Кроме того, вы можете проверить точку монтирования, проверив, указана ли она в списке при запуске команды df.

5. Постоянно монтировать удаленную файловую систему

Вышеуказанные шаги будут монтировать удаленную файловую систему только до следующей перезагрузки. Если вы хотите навсегда смонтировать удаленную папку, вам нужно открыть файл /etc/fstab в текстовом редакторе.

Добавьте следующую строку в конец файла. Замените test_user на ваше удаленное имя пользователя, x.x.x.x на IP-адрес удаленной папки, /home/test на расположение удаленной папки и /mnt/test на локальную точку подключения удаленной папки.

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

Узнайте, как безопасно смонтировать удаленную файловую систему с другого сервера локально на вашем компьютере с помощью SSHFS.

Опубликовано: 6 января 2020 г. | Крис Коллинз (Red Hat)

SSHFS

SSHFS — это файловая система в пространстве пользователя (FUSE), которая использует протокол передачи файлов SSH (SFTP) для монтирования удаленной файловой системы. Команда sshfs — это клиентский инструмент для использования SSHFS для локального монтирования удаленной файловой системы с другого сервера на вашем компьютере.

Дополнительные ресурсы по Linux

Примечание. Пространство пользователя (или пространство пользователя) — это весь код операционной системы, который выполняется вне ядра.

Хотя sshfs не так эффективна, как локальная файловая система, это простой способ работать с файлами на другом компьютере с помощью локальных программ и инструментов. Лучше всего то, что sshfs может использоваться непривилегированными пользователями на локальной машине (фактически рекомендуется не быть пользователем root или повышать свои привилегии при использовании sshfs ), и для этого не требуется никаких специальных программное обеспечение на удаленном компьютере, отличное от SSH с включенным SFTP — обычная установка.

Установка sshfs

Инструмент sshfs доступен в стандартных репозиториях большинства дистрибутивов, и его проще всего установить с помощью диспетчера пакетов этого дистрибутива. Для Fedora установить sshfs так же просто, как: dnf install fuse-sshfs. В системах на основе Debian это просто sshfs .

Монтирование удаленной файловой системы

После установки sshfs безопасно подключить удаленную файловую систему через SSH несложно. Согласно странице руководства sshfs ( man sshfs ), синтаксис команды:

Этот синтаксис должен показаться знакомым всем, кто раньше использовал SSH или SCP.

Давайте посмотрим на sshfs в действии. Сначала создайте (или выберите существующий) каталог для использования в качестве точки монтирования. Обратите внимание, что локальный пользователь, вызывающий команду sshfs, должен иметь доступ на запись к точке монтирования. Поскольку использование учетной записи root не рекомендуется, эта политика может сделать использование ~/mnt более предпочтительным, чем /mnt . Затем достаточно использовать команду sshfs для подключения к удаленному компьютеру, используя ваши учетные данные SSH, и указать, какое удаленное расположение следует подключить к точке подключения:

Примечание. Забавный факт: sshfs не расширяет ~ на удаленном компьютере до домашнего каталога пользователя.

Доступ к смонтированным файловым системам можно получить и использовать так же, как и локальную файловую систему, как из командной строки, так и с помощью других инструментов:

Пример SSHFS

После завершения работы с удаленной файловой системой размонтируйте ее с помощью команды fusermount:

Параметры монтирования

В большинстве случаев команду sshfs по умолчанию можно использовать как есть, но sshfs — далеко не простая команда. Существует множество параметров и флагов, которые охватывают различные ситуации, включая параметры SSH и SFTP, сжатие и т. д. Ознакомьтесь с руководством по sshfs ( man sshfs ), чтобы узнать больше о том, что доступно.

Одна из наиболее полезных опций — reconnect , которая позволяет клиенту восстановить прерванное соединение с удаленной системой:

Монтирование удаленной файловой системы при запуске

Команду sshfs также можно использовать в файле /etc/fstab клиентской системы для автоматического монтирования удаленной файловой системы. Используйте обычный синтаксис fstab, включая все необходимые параметры, и используйте sshfs вместо типа файловой системы:

Обратите внимание, что при использовании sshfs с файлом fstab монтирование файловой системы должно выполняться от имени пользователя root, поэтому необходимо внести соответствующие корректировки в учетные данные SSH и принять соответствующие меры предосторожности.

Конечная точка транспорта не подключена

Вы можете получить сообщение об ошибке "Конечная точка транспорта не подключена", когда подключение прерывается (например, если клиентский компьютер меняет сеть или приостанавливается). В этом случае размонтируйте файловую систему с помощью команды fusermount, как описано выше:

Надеюсь, эта статья познакомила вас с основами работы с sshfs. Это отличный инструмент для безопасной работы с удаленными файловыми системами через зашифрованное соединение SSH при локальном подключении на клиентском компьютере. И, как уже упоминалось, благодаря тому, что sshfs является файловой системой FUSE, даже непривилегированные пользователи могут использовать ее, не требуя администратора для ее настройки.

Хотите попробовать Red Hat Enterprise Linux? Загрузите его сейчас бесплатно.

Предположим, вы хотите смонтировать удаленный каталог локально. Однако у вас есть доступ по SSH только к хосту, на котором находится удаленный каталог, и нет сетевой файловой системы (например, NFS, Samba), доступной для экспорта каталога. В этом случае вы действительно можете смонтировать удаленный каталог через SSH и получить доступ к каталогу через интерфейсы файловой системы.

Монтирование удаленной папки через SSH осуществляется модулем ядра FUSE, который позволяет создать виртуальную файловую систему в пользовательском пространстве. sshfs и gvfs — это две такие виртуальные файловые системы, построенные на FUSE, которые позволяют монтировать удаленную файловую систему через SSH. В этом посте я покажу, как подключить удаленный каталог через SSH с помощью sshfs и gvfs.

Установка sshfs в Linux

Чтобы установить sshfs в Ubuntu или Debian:

Чтобы установить sshfs в CentOS, RHEL или Fedora, сначала включите репозиторий EPEL в своей системе, а затем выполните следующее.

Смонтировать удаленный каталог через SSH с помощью sshfs

Если вы хотите использовать sshfs в качестве пользователя без полномочий root, вам необходимо добавить пользователя в группу с именем fuse . То есть:

Выполните следующую команду, чтобы активировать изменение членства в группе.

Наконец, вы можете смонтировать удаленный каталог с помощью sshfs следующим образом.

Приведенная выше команда запросит у вас пароль SSH для удаленного хоста. Как только вы введете пароль, удаленный каталог станет доступным в локальной точке монтирования. Если вы хотите настроить монтирование без пароля, все, что вам нужно сделать, это настроить вход по ssh без пароля на [email protected]_host .

Чтобы размонтировать каталог, смонтированный по ssh:

Если вы хотите автоматически монтироваться по ssh при загрузке, настройте вход по ssh без пароля и добавьте следующее в /etc/fstab .

Смонтировать удаленный каталог через SSH на рабочем столе GNOME

Если вы используете рабочий стол GNOME, подключиться через SSH довольно просто. Nautilus, официальный файловый менеджер для рабочего стола GNOME, уже поддерживает монтирование через SSH. Под ним Nautilus использует виртуальную файловую систему gvfs, которая может отображать монтирование gvfs через SSH с помощью FUSE.

Чтобы подключить удаленную папку через SSH с помощью Nautilus, выберите «Файл» → «Подключиться к серверу» в Nautilus. Затем введите информацию об удаленном SSH-сервере, путь к удаленной папке, а также учетные данные для входа по ssh следующим образом.


После того, как вы нажмете кнопку «Подключиться», будет автоматически сгенерирована локальная точка монтирования, и через gvfs туда будет смонтирован удаленный каталог. Чтобы проверить точку подключения gvfs, выполните следующее.

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

Поддержка Xmodulo

Этот веб-сайт стал возможен благодаря минимальной рекламе и вашему любезному пожертвованию через PayPal (кредитная карта) или биткойн ( 1M161JGAkz3oaHNvTiPFjNYkeABox8rb4g ).

Читайте также: