3.9 KiB
+++ title = "SSHFS: Монтирование удаленных файловых систем через SSH" date = 2025-03-09 description = "SSHFS (SSH File System) позволяет монтировать удаленные файловые системы через SSH, обеспечивая безопасный и удобный доступ к файлам на удаленных серверах."
[taxonomies] tags = ["sshfs", "ssh", "server"]
[extra] quick_navigation_buttons = true toc = false mermaid = false social_media_card = "social_cards/index-sshfs.webp" +++
Введение
SSHFS – это мощный инструмент для работы с удаленными файлами, обеспечивающий удобство и безопасность благодаря использованию SSH. Он полезен для резервного копирования, совместной работы и доступа к файлам на удаленных серверах без сложной настройки.
Установка SSHFS
sudo pacman -S sshfs
Монтирование удаленной файловой системы
- Создайте локальную папку для монтирования:
sudo mkdir /mnt/sshfs
- Подключите удаленную файловую систему:
sshfs user@remote_host:/remote_folder /mnt/sshfs
- `user` – имя пользователя на удаленном сервере
- `remote_host` – IP-адрес или доменное имя сервера
- `/remote_folder` – каталог, который нужно смонтировать
- `/mnt/sshfs` – локальная папка, куда будет смонтирован удаленный ресурс
Если используется нестандартный порт указать можно так:
sshfs -p 223 user@remote_host:/remote_folder /mnt/sshfs
Автоматическое монтирование при загрузке
Добавьте в /etc/fstab строку:
user@remote_host:/remote_folder /mnt/sshfs fuse.sshfs defaults,_netdev,user,idmap=user,allow_other,reconnect 0 0
Создайте файл с учетными данными ~/.sshfs_credentials:
echo "password" > ~/.sshfs_credentials
chmod 600 ~/.sshfs_credentials
с содежимым:
username=ТВОЙ_ЛОГИН
password=ТВОЙ_ПАРОЛЬ
Монтирование с учётом ~/.sshfs_credentials
sshfs -o password_stdin,credentials=~/.sshfs_credentials user@remote_host:/remote_folder /mnt/sshfs
Размонтирование файловой системы
fusermount -u /mnt/sshfs
Дополнительные параметры
-o reconnect– автоматически переподключаться при разрыве связи-o allow_other– разрешить доступ другим пользователям системы-o idmap=user– сопоставлять идентификаторы пользователей
Монтирование с помощью systemd
{{ admonition(type="danger", icon="tip", title="Внимание!", text="Авторизация на сервере должна проходить по ключу") }}
Создаём юнит-файл systemd ~/.config/systemd/user/server.service
[Unit]
Description=Mount /mnt/sshfs/
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=sshfs -p 666 user@remote_host:/remote_folder /mnt/sshfs
ExecStop=umount /mnt/sshfs/
[Install]
WantedBy=default.target
Запуск и автозагрузка
systemctl --user daemon-reload
systemctl --user enable now sshfs-myserver.mount
Теперь /mnt/sshfs/ автоматически монтируется при загрузке.