Различия

Показаны различия между двумя версиями страницы.


Предыдущая версия
montirovanie_udaljonnoj_papki [2025/07/06 12:39] (текущий) – внешнее изменение 127.0.0.1
Строка 1: Строка 1:
 +====== Монтирование удалённой папки (FTP, SSH) в Linux ======
 +  * [[mount]]
 +  * [[FUSE]]
  
 +Монтировать удалённые каталоги можно используя протоколы [[FTP]] (требует curlftpfs), WebDav (fusedav), GMail (gmailfs), Flickr(flickrfs), [[SFTP]](sshfs).
 +
 +====== Монтирование удалённой FTP ресурса ======
 +
 +Для монтирования FTP требуется [[http://curlftpfs.sourceforge.net|пакет curlftpfs]].
 +<file bash>
 +Debian, Ubuntu
 +apt install curlftpfs
 +
 +CentOS 7
 +yum install curlftpfs
 +
 +CentOS, Fedora, AlmaLinux, and Red Hat:
 +dnf install curlftpfs
 +</file>
 +
 +Как использовать:
 +<file bash>
 +curlftpfs ftp://[пользователь]:[пароль]@имя_сервера /media/ftp [опции]
 +
 +Пример:
 +curlftpfs ftp://backup:123task@159.xxx.xxx.xxx /home/darkfire/ftp_share
 +</file>или<file bash>
 +curlftpfs имя_сервера /media/ftp -o user=пользователь:пароль [другие_опции]
 +</file>
 +Отмонтируем<file bash>
 +fusermount -u /media/ftp
 +</file>
 +====== Как примонтировать папку по sftp (sshfs)? ======
 +
 +**Рассмотрим вариант монтирование удаленной директории с использованием протокола [[SFTP]].**
 +
 +В ОС должна быть установлена поддержка [[FUSE|FUSE]]: пакет sshfs - содержащий клиента файловой системы, основанный на протоколе передачи файлов [[ssh|SSH]].
 +
 +Установим
 +<file bash>
 +CentOS
 +yum install fuse-sshfs 
 +
 +Debian, Ubuntu
 +apt install sshfs
 +</file>
 +<file bash>
 +adduser yourusername fuse
 +$ mkdir ~/sftpshare
 +</file>
 +Синтаксис подключения:<file>
 +$ sshfs hostuser@remote.host.or.ip:/path/to/directory ~/sftpshare
 +</file>Отмонтируется удаленный ресурс командой fusermount:<file>
 +$ fusermount -u ~/sftpshare
 +</file>
 +
 +**Автоподключение и перемонтирование удаленных папок**. Для этого есть несколько вариантов:
 +  * Использовать опцию reconnect<file bash>
 +sshfs -o reconnect hostuser@remote.host.or.ip:/path/to/directory ~/sftpshare
 +</file>Ключ -C (equivalent to '-o compression=yes')включает сжатие (немного экономит трафик и ускоряет соединение)<file bash>
 +sshfs -C -o reconnect hostuser@remote.host.or.ip:/path/to/directory ~/sftpshare
 +</file>
 +
 +Если по каким-то причинам вы не можете использовать SSH ключ для подключения, не забывайте про утилиту [[ssh#sshpass_avtomatizacija_vvoda_parolja|sshpass]], которая поможет автоматизировать ввод пароля.
 +====== autofs ======
 +
 +  * Прописать в /ets/fstab
 +  * [[https://www.harding.motd.ca/autossh/|autofs]]<file>
 +# apt search autofs
 +autofs - Переходный пакет от autofs к autofs5                                                                                    
 +autofs5 - Встроенный в ядро автоматический монтировщик для Linux, версия 5. 
 +</file>
 +  * [[https://github.com/pcarrier/afuse|Afuse - An automounter implemented with FUSE]]. Установим и настроим Afuse. <file>
 +# apt install afuse
 +$ mkdir ~/sshfs/
 +</file>Запустим демон afuse, кторый будет отслеживать все обращения к директории ~/sshfs/:<file>
 +afuse -o mount_template="sshfs %r:/ %m" -o unmount_template="fusermount -u -z %m" ~/sshfs/
 +</file>После чего все обращения к файлам и папкам в папке ~/sshfs/ будут вызывать монтирование соответствующей папки в ~/sshfs/. После чего обращение пойдет дальше на удаленный хост. Самое главное для нас — все происходит абсолютно прозрачно при первом обращении к нужной папке из любой программы. 
 +Например: ls ~/sshfs/tmpvar@foobarhost.com вначале малость потормозит, потом покажет содержимое корневой папки / сервера foobarhost.com. Конечно, не всегда удобно писать полный адрес и параметры доступа к серверу tmpvar@foobarhost.com:22, поэтому мы их перенесем в настройки доступа ssh.<file>
 +cat ~/.ssh/config 
 +Host file-storage
 + Hostname filestorage.server.com
 + Port 2222           # на сервере может быть использован нестандартный порт
 + HostKeyAlias fs 
 + User admin
 +</file>
 +
 +
 +Теперь мы можем обращаться к нашему серверу по короткому имени fs как в ssh, так и в sshfs:
 +> ssh fs # заходим на сервер — никаких лишних настроек не надо
 +> ls ~/sshfs/fs # смотрим корневую папку сервера.
 +
 +Если вы монтите папку первый раз, то у вас появится окошко ввода пароля для доступа к указанному серверу. После того как соединение установлено, окно больше не будет вас докучать. Как вы уже поняли — можно легко сказать окну не вылезать — сделав авторизацию на сервер по ключу.

📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.

📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.

💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!