Как смонтировать удаленные директории в Linux с помощью SSHFS

Существует множество решений для синхронизации файлов между двумя устройствами. Хотя Google Drive и Microsoft OneDrive могут не предоставлять официальные клиенты для Linux, NextCloud и другие это делают. Но, возможно, вы не доверяете крупной корпорации для хранения ваших файлов. Или, возможно, вы хотите больше безопасности, чем предлагает NextCloud. Учитывая все компоненты, которые входят в создание чего-то вроде NextCloud, вероятно, у него больше нераскрытых уязвимостей, чем у более простых решений.
Почему стоит использовать SSHFS?
С точки зрения конечного пользователя это очень просто в использовании, чисто и понятно. Это также невероятно безопасно, так как оно основывается на проверенном и надежном сервере OpenSSH. Шифрование также на высшем уровне, так что вы можете быть уверены, что никто не сможет украсть ваши файлы во время передачи. Правильно настроенный и актуальный сервер, который слушает только SSH-соединения, обычно невозможно взломать, кроме как для самых опытных атакующих (подумайте о NSA, специалистах по безопасности и т.д.). И, вероятно, им не нужны ваши файлы.
Почему вы не захотите использовать SSHFS
Если вам нужна максимальная скорость передачи, возможно, вам стоит рассмотреть другие решения, такие как NFS. SSHFS не самый медленный, если ваше интернет-соединение высокого качества, но и не самый быстрый. А если вы хотите передать директории, содержащие сотни мелких файлов, это становится ужасным. Также, если вы хотите тонко настроить параметры совместного использования файлов, основываясь на отдельных пользователях или других факторах, вам может понадобиться другое программное обеспечение.
В общем, если вам просто нужен простой, безопасный способ синхронизации удаленной директории с локальной и вы не спешите, вы, вероятно, будете довольны этим решением.
Установка SSHFS
На установках на базе Arch Linux используйте эту команду:
sudo pacman -SsshfsЕсли вы на дистрибутиве на базе Fedora, используйте:
sudo dnf installsshfsНа Debian, Ubuntu и их производных используйте:
sudo apt installsshfsДля тех из вас, кто использует OpenSUSE, введите эту команду:
sudo zypper installsshfsНастройка сервера
Если вы арендуете сервер или VPS, демон сервера OpenSSH уже настроен. Следуйте шагам, рекомендованным вашим облачным провайдером, чтобы настроить обычного пользователя (не root). Некоторые позволяют сделать это напрямую из их веб-панели управления и даже позволяют импортировать открытый ключ для доступа по SSH. В этом случае сгенерируйте пары ключей локально с помощью команды ssh-keygen. Затем импортируйте открытый ключ из “/home/your_username/.ssh/id_rsa.pub.”
Если облачный провайдер не предлагает инструмент для легкого импорта открытых SSH-ключей, сделайте это вручную. По крайней мере, запретите вход под root и отключите вход по паролю. Используйте только SSH-ключи: их невозможно взломать методом подбора, как это происходит с паролями.
Если вы хотите синхронизировать файлы между двумя компьютерами дома, просто рассматривайте один как сервер (установите пакет openssh-server и настройте) и другой как клиент. Те же шаги применимы.
Смонтируйте удаленную директорию локально с помощью SSHFS
Сначала создайте директорию, которая будет синхронизирована с удаленной стороной.
mkdir$HOME/sshfsЗатем смонтируйте удаленную директорию локально через SSHFS. Замените “user” на фактическое имя пользователя, созданное на вашем сервере, и “203.0.113.1” на фактический IP-адрес вашего удаленного экземпляра.
sshfs [email protected]:/home/user $HOME/sshfsКонечно, если вы не хотите синхронизировать всю домашнюю директорию пользователя на стороне сервера, просто замените “/home/user” на “/home/user/some_other_directory” после того, как вы создадите ее на сервере.
Когда вы хотите размонтировать, используйте эту команду:
cd&& fusermount -u$HOME/sshfsЗаключение
Если вы хотите, чтобы директория постоянно синхронизировалась с удаленной стороной, добавьте команду, такую как sshfs [email protected]:/home/user $HOME/sshfs, в ваш менеджер автозагрузки. Каждый графический менеджер имеет разный менеджер конфигурации автозагрузки, поэтому обратитесь к справочному руководству вашей рабочей среды. Некоторые источники рекомендуют добавить запись в “/etc/fstab”, но мы советуем вам избегать этого, так как сбой монтирования директории может привести к полной невозможности загрузки вашей системы.
Надеемся, это покрывает все ваши потребности. Но если нет, вы можете прочитать о других параметрах командной строки в онлайн-руководстве SSHFS.