
SSHFS (SSH Filesystem) — это клиент файловой системы на основе 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 updatesudo apt install sshfs
Установка SSHFS на CentOS
В CentOS и других производных от Red Hat выполните следующую команду для установки sshfs:
sudo yum install sshfs
Установка SSHFS на macOS
Пользователи macOS могут установить клиент SSHFS, загрузив пакеты FUSE и SSHFS с сайта osxfuse или через Homebrew:
brew cask install osxfusebrew 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 и настройте вход по SSH без пароля .
Теперь вы можете взаимодействовать с каталогами и файлами, расположенными на удалённом сервере, так же, как и с локальными файлами. Например, вы можете редактировать, удалять, переименовывать или создавать новые файлы и каталоги.
Чтобы постоянно смонтировать удалённый каталог, необходимо отредактировать файл /etc/fstab на локальном компьютере и добавить новую запись монтирования. Таким образом, при загрузке системы удалённый каталог будет автоматически смонтирован.
Чтобы смонтировать удаленный каталог через SSHFS из /etc/fstab , используйте fuse.sshfs в качестве типа файловой системы.
/etc/fstab
user@host:/remote/dir /local/mountpoint fuse.sshfs defaults 0 0
При создании постоянного монтирования убедитесь, что вы можете подключиться к удаленному хосту, используя аутентификацию на основе ключа SSH.
Монтирование удаленной файловой системы в Windows
Пользователи Windows могут использовать проводник Windows для подключения сетевого диска к удаленному каталогу на сервере SSH.
Откройте проводник Windows, щёлкните правой кнопкой мыши по значку «Этот компьютер» и выберите «Подключить сетевой диск». Выберите диск для монтирования и в поле «Папка» введите имя удалённого пользователя, имя сервера и путь в следующем формате:
\ sshfs u ser@host [ P ATH ]
На момент написания этой статьи SSHFS-Win не поддерживал аутентификацию на основе ключей, поэтому удаленный SSH-сервер необходимо настроить на прием аутентификации на основе пароля.
Более подробную информацию смотрите в руководстве SSHFS-Win .
Размонтирование удаленной файловой системы
Чтобы отсоединить смонтированную файловую систему, используйте команду umount или fusermount , указав за ней каталог, в который она была смонтирована (точку монтирования):
fusermount -u /local/mountpoint
umount /local/mountpoint
Заключение
В этом руководстве вы узнали, как использовать SSHFS для монтирования удалённого каталога по SSH. Это может быть полезно, если вы хотите взаимодействовать с удалёнными файлами с помощью приложений локального компьютера.
Для получения полного списка параметров sshfs введите man sshfs в терминале.
Вы также можете ограничить доступ пользователей к их домашнему каталогу, настроив среду SFTP Chroot Jail и изменив порт SSH по умолчанию, чтобы добавить дополнительный уровень безопасности вашему серверу.
Если у вас есть вопросы или пожелания, не стесняйтесь оставлять комментарии.
ssh sftp монтирование терминала
Связанные руководства
- Как использовать команду SFTP для передачи файлов
- SSH-команда
- Как смонтировать общий ресурс Windows в Linux с помощью CIFS
- Как смонтировать ISO-файл в Linux
- Как установить и настроить NFS-сервер на CentOS 8
- Как смонтировать общий ресурс NFS в Linux
- Как установить и настроить NFS-сервер в Ubuntu 18.04