Как расшарить файлы в 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.