Как расшарить файлы в Linux. Самый простой способ с SSHFS

Задача: имеется сервер на Linux. Нужно примонтировать заданную директорию на нем к локальному компьютеру. Должна быть возможность редактирования больших файлов без отправки файла туда-сюда целиком, то есть FTP отпадает. Что выбрать? Ниже самый простой способ качественно расшарить директорию в Linux всего в 1 строчку.


sshfs user@example.com:/path/to/directory /local/path

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

Как работает SSHFS

Как можно догадаться из названия, эта виртуальная файловая система гармонично объединяет вместе две успешные и популярные технологии — FUSE и SSH. От SSH берется безопасность и мощь удаленного администрирования, а FUSE прозрачно интегрирует эти возможности на уровне файловой системы.

Почему не Samba, NFS и так далее?

FTP. Надо поднимать и настраивать сервер. Пароль пролетает открытым текстом, на радость каккерам. Умеет скачивать и закачивать файлы целиком, но не умеет исправить несколько байт в огромном файле без его передачи сначала на клиент, потом обратно.

Samba. Тяжелая система с запутанной настройкой. Пришла из мира Windows, притащив за собой все болячки и добавив новые. Использовать Самбу для расшаривания 1 директории ­— как стрелять по воробьям из пушки.

WebDAV. Нужно ставить тяжелый и неповоротливый Apache. Проблема с владельцем файлов. Сервер по умолчанию работает от имени пользователя www-data из группы www-data. Если монтируемая директория принадлежит другому пользователю, то нужно править конфигурационный файл и перезапускать Apache.

NFS. Как бы родная система для Linux, но почему-то всё равно требует доустановки на клиент и сервер кучи пакетов. Мудреная настройка, неразбериха с правами.

Если нет SSHFS на клиенте

То его легко установить. Зависимостей нет.


apt-get install sshfs

На сервер вообще ничего не требуется устанавливать — используется стандартный ssh.