Как использовать SSHFS для монтирования удаленных каталогов через SSH
Как использовать SSHFS для монтирования удаленных каталогов через SSH
How to use SSHFS to Mount Remote Directories over SSH
Из этого руководства вы узнаете, как установить клиент SSHFS в Linux, macOS и Windows и как смонтировать удаленный каталог.

SSHFS (SSH Filesystem) - это клиент файловой системы на основе FUSE для монтирования удаленных каталогов по SSH-соединению. SSHFS использует протокол SFTP, который является подсистемой SSH и включен по умолчанию на большинстве серверов SSH.
По сравнению с другими протоколами сетевой файловой системы, такими как NFS и Samba, преимущество SSHFS заключается в том, что он не требует какой-либо дополнительной настройки на стороне сервера. Для использования SSHFS вам нужен только SSH-доступ к удаленному серверу.
Поскольку SSHFS использует SFTP , все передаваемые данные между сервером и клиентом должны быть зашифрованы и расшифрованы. Это приводит к слегка ухудшенной производительности по сравнению с NFS и более высокой загрузке ЦП на клиенте и сервере.
Установка SSHFS
Пакеты SSHFS доступны для всех основных операционных систем, и установка довольно проста.
Установка SSHFS в Ubuntu и Debian
SSHFS доступен из репозиториев Ubuntu и Debian по умолчанию. Обновите индекс пакетов и установите клиент sshfs, набрав:
sudo apt update
sudo apt install sshfs
Установка SSHFS на CentOS
В CentOS и других производных Red Hat для установки sshfs выполните следующую команду:
sudo yum install sshfs
Установка SSHFS на macOS
Пользователи macOS могут установить клиент SSHFS, загрузив пакеты FUSE и SSHFS с сайта osxfuse или через Homebrew:
brew cask install osxfuse
brew install sshfs
Установка SSHFS в Windows
Пользователям Windows необходимо установить два пакета, WinFsp и SSHFS-Win.
Монтирование удаленной файловой системы
Следующие инструкции применимы для всех дистрибутивов Linux и macOS.
Чтобы смонтировать удаленный каталог, пользователь SSH должен иметь доступ к нему. Команда монтирования SSHFS имеет следующий вид:
sshfs [user@]host:[remote_directory] mountpoint [options]
Команда sshfs прочитает файл конфигурации SSH и будет использовать настройки для каждого хоста. Если удаленный каталог не указан, по умолчанию используется домашний каталог удаленного пользователя.
Например, чтобы смонтировать домашний каталог пользователя с именем «linuxize» на удаленном хосте с IP-адресом «192.168.121.121», сначала создайте каталог, который будет служить точкой монтирования, это может быть любое местоположение:
mkdir ~/linuxizeremote
Затем используйте команду sshfs для монтирования удаленного каталога:
sshfs linuxize@192.168.121.121:/home/linuxize /home/linuxize/linuxizeremote
Вам будет предложено ввести пароль пользователя. Чтобы не вводить пароль каждый раз, когда вы монтируете удаленный каталог, генерируйте SSH-ключи и настраивайте Passwordless SSH Login .
Теперь вы можете взаимодействовать с каталогами и файлами, расположенными на удаленном сервере, так же, как и с локальными файлами. Например, вы можете редактировать, удалять, переименовывать или создавать новые файлы и каталоги.
Если вы хотите постоянно смонтировать удаленный каталог, вам нужно отредактировать /etc/fstab
файл локального компьютера и добавить новую запись о монтировании. Таким образом, когда ваша система загружается, она автоматически монтирует удаленный каталог.
Чтобы смонтировать удаленный каталог через SSHFS /etc/fstab
, используйте fuse.sshfs
в качестве типа файловой системы.
user@host:/remote/dir /local/mountpoint fuse.sshfs defaults 0 0
При создании постоянного монтирования убедитесь, что вы можете подключить удаленный хост с использованием аутентификации на основе ключа SSH.
Монтирование удаленной файловой системы в Windows
Пользователи Windows могут использовать проводник Windows для сопоставления сетевого диска с удаленным каталогом на сервере SSH.
Откройте проводник Windows, щелкните правой кнопкой мыши «Этот компьютер» и выберите «Подключить сетевой диск». Выберите диск для монтирования и в поле «Папка» введите удаленного пользователя, сервер и путь в следующем формате:
\\sshfs\user@host[\PATH]
На момент написания этой статьи SSHFS-Win не поддерживает аутентификацию на основе ключей, поэтому необходимо настроить удаленный ssh-сервер для принятия аутентификации на основе пароля.
Для более подробной информации обратитесь к руководству по SSHFS-Win .
Размонтирование удаленной файловой системы
Чтобы отсоединить смонтированную файловую систему, используйте команду umount
или, fusermount
а затем каталог, в котором она была смонтирована (точка монтирования):
fusermount -u /local/mountpoint
umount /local/mountpoint
Вывод
Из этого руководства вы узнали, как использовать SSHFS для монтирования удаленного каталога через SSH. Это может быть полезно, когда вы хотите взаимодействовать с удаленными файлами с помощью приложений на локальном компьютере.
Для получения полного списка опций sshfs введите man sshfs
свой терминал.
Вы также можете ограничить доступ пользователей к их домашнему каталогу, настроив среду SFTP Chroot Jail и изменив порт SSH по умолчанию, чтобы добавить дополнительный уровень безопасности вашему серверу.