SSHFS (SSH Filesystem) — это инструмент, который позволяет монтировать удалённую файловую систему через SSH. Это удобно для работы с файлами на удалённом сервере, как если бы они находились на локальном компьютере.
Установка SSHFS
Для Linux:
- Используйте пакетный менеджер для установки SSHFS. Например, для Debian/Ubuntu:
bash sudo apt-get update sudo apt-get install sshfs - Для Fedora/CentOS:
bash sudo dnf install sshfs
Для macOS:
- Можно использовать Homebrew:
bash brew install sshfs
Для Windows:
- Можно использовать утилиты, такие как Dokan или другие инструменты, которые поддерживают монтирование файловых систем через SSH.
Основные команды и опции SSHFS
Монтирование удалённой файловой системы:
sshfs [user@]host:[remote_dir] local_dir [options]
[user@]host— учётная запись и хост удалённого сервера.[remote_dir]— путь к директории на удалённом сервере.local_dir— локальная директория, куда будет смонтирована удалённая файловая система.
Примеры:
- Монтирование домашней директории пользователя
userс сервераexample.comв локальную директорию~/remote:
sshfs user@example.com:/home/user ~/remote
- Монтирование с указанием порта (если SSH работает на нестандартном порту):
sshfs -p 2222 user@example.com:/home/user ~/remote
Опции:
-o allow_other— позволяет другим пользователям на локальной машине получать доступ к смонтированной файловой системе.-o reconnect— автоматически переподключается при потере соединения.-o follow_symlinks— следует за символическими ссылками.-o IdentityFile=path_to_private_key— использует указанный приватный ключ для аутентификации.
Пример с опциями:
sshfs user@example.com:/home/user ~/remote -o allow_other,reconnect
Размонтирование файловой системы
Чтобы размонтировать файловую систему, используйте команду:
fusermount -u local_dir
или
umount local_dir
где local_dir — это локальная директория, куда была смонтирована удалённая файловая система.
Автоматическое монтирование при загрузке
Можно настроить автоматическое монтирование при загрузке системы, добавив строку в файл /etc/fstab:
user@example.com:/home/user ~/remote fuse.sshfs defaults,allow_other,reconnect 0 0
Однако для использования allow_other может потребоваться запуск sshfs от имени суперпользователя или настройка соответствующих прав доступа.
Устранение распространённых проблем
- Проблемы с аутентификацией:
- Убедитесь, что у вас есть права доступа к удалённому серверу и что SSH-ключ (если используется) правильно настроен.
- Проверьте, что SSH-сервер на удалённом хосте запущен и доступен.
- Проблемы с монтированием:
- Убедитесь, что локальная директория существует и у вас есть права на запись в неё.
- Проверьте, что у вас установлены все необходимые зависимости и SSHFS правильно настроен.
- Медленная работа:
- Учитывайте, что скорость работы зависит от скорости вашего сетевого соединения.
- Попробуйте настроить параметры SSH (например, сжатие данных) для улучшения производительности.





