Введение
SSHFS (файловая система SSH) — это клиент файловой системы на основе FUSE для монтирования удаленных каталогов через соединение SSH. SSHFS использует протокол SFTP, который является подсистемой SSH и включен по умолчанию на большинстве серверов SSH.
По сравнению с другими протоколами сетевых файловых систем, такими как NFS и Samba, преимущество SSHFS заключается в том, что он не требует дополнительной настройки на стороне сервера. Для использования SSHFS требуется только доступ SSH к удаленному серверу.
Поскольку SSHFS использует SFTP, все данные, передаваемые между сервером и клиентом, должны быть зашифрованы и расшифрованы. Это приводит к несколько более низкой производительности, чем NFS, и более высокой загрузке ЦП на клиенте и сервере.
В этом руководстве показано, как установить клиент SSHFS в Linux, macOS и Windows и как смонтировать удаленный каталог.
Установить SSHFS
Пакеты SSHFS доступны для всех основных операционных систем, и их установка довольно проста.
Установите SSHFS на Ubuntu и Debian
SSHFS доступен в стандартных репозиториях Ubuntu и Debian. Обновите индекс пакета и установите клиент sshfs, набрав:
sudo apt update
sudo apt install sshfs
Установите SSHFS на CentOS
В CentOS и других производных от Red Hat выполните следующие команды для установки sshfs.
Добавьте репозиторий ELP:
sudo yum install epel-release
Установите 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 должен иметь к нему доступ. Команда mount SSHFS имеет следующий вид:
sshfs [user@]host:[remote_directory] mountpoint [options]
Команда sshfs прочитает файл конфигурации SSH и использует его для настроек хоста. Если удаленный каталог не указан, по умолчанию используется домашний каталог удаленного пользователя.
Например, чтобы смонтировать домашний каталог пользователя с именем « Алиса » на удаленном хосте с IP-адресом «192.168.222.222», сначала создайте каталог, который будет действовать как точка монтирования, это может быть любое желаемое место:
mkdir ~/aliceremote
Затем используйте команду sshfs для монтирования удаленного каталога:
sshfs [email protected]:/home/alice /home/alice/aliceremote
Вам будет предложено ввести пароль пользователя. Чтобы не вводить пароль каждый раз при монтировании удаленного каталога, создайте ключи SSH и настройте вход SSH без пароля.
Теперь вы можете взаимодействовать с каталогами и файлами, расположенными на удаленном сервере, так же, как и с локальными файлами. Например, вы можете редактировать, удалять, переименовывать или создавать новые файлы и каталоги.
Если вы хотите постоянно монтировать удаленный каталог, вам нужно отредактировать /etc/fstab
локального компьютера и добавить новую запись монтирования. Это автоматически смонтирует удаленный каталог при запуске системы.
Чтобы смонтировать удаленный каталог на SSHFS из /etc/fstab
, используйте fuse.sshfs
в качестве типа файловой системы.
При создании постоянного монтирования убедитесь, что вы можете подключиться к удаленному хосту, используя аутентификацию на основе ключа 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
:
man sshfs