Android

Как использовать sshfs для монтирования удаленных каталогов поверх ssh

Mounting Remote Filesystems With SSHFS

Mounting Remote Filesystems With SSHFS

Оглавление:

Anonim

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 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.

  • WinFsp.SSHFS-Win.

Монтирование удаленной файловой системы

Следующие инструкции применимы для всех дистрибутивов Linux и macOS.

Чтобы смонтировать удаленный каталог, пользователь SSH должен иметь доступ к нему. Команда монтирования SSHFS имеет следующий вид:

sshfs host: mountpoint

Команда sshfs прочитает файл конфигурации SSH и будет использовать настройки для каждого хоста. Если удаленный каталог не указан, по умолчанию используется домашний каталог удаленного пользователя.

Например, чтобы смонтировать домашний каталог пользователя с именем «linuxize» на удаленном хосте с IP-адресом «192.168.121.121», сначала создайте каталог, который будет служить точкой монтирования, это может быть любое место, которое вы хотите:

mkdir ~/linuxizeremote

Затем используйте команду sshfs для монтирования удаленного каталога:

sshfs [email protected]:/home/linuxize /home/linuxize/linuxizeremote

Вам будет предложено ввести пароль пользователя. Чтобы избежать ввода пароля каждый раз, когда вы монтируете удаленный каталог, генерируйте SSH-ключи и настраивайте Passwordless SSH Login.

Теперь вы можете взаимодействовать с каталогами и файлами, расположенными на удаленном сервере, так же, как и с локальными файлами. Например, вы можете редактировать, удалять, переименовывать или создавать новые файлы и каталоги.

Если вы хотите монтировать удаленный каталог навсегда, вам нужно отредактировать файл /etc/fstab на локальном компьютере и добавить новую запись о монтировании. Таким образом, когда ваша система загружается, она автоматически монтирует удаленный каталог.

Чтобы смонтировать удаленный каталог через SSHFS из /etc/fstab , используйте fuse.sshfs в качестве типа файловой системы.

/ И т.д. / Fstab

user@host:/remote/dir /local/mountpoint fuse.sshfs defaults 0 0

При создании постоянного монтирования убедитесь, что вы можете подключить удаленный хост с использованием аутентификации на основе ключа SSH.

Монтирование удаленной файловой системы в Windows

Пользователи Windows могут использовать проводник Windows для сопоставления сетевого диска с удаленным каталогом на сервере SSH.

Откройте проводник Windows, щелкните правой кнопкой мыши «Этот компьютер» и выберите «Подключить сетевой диск». Выберите диск для монтирования и в поле «Папка» введите удаленного пользователя, сервер и путь в следующем формате:

\\sshfs\user@host

На момент написания этой статьи 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 крепление терминала