Rate this post

Как подключить удаленный каталог по SSH в системе ОСLinux? Как использовать SSHFS для монтирования удаленные файловые системы через SSH в системе Ubuntu или Debian / RHEL / CentOS / Arch Linux?nSSH является безопасным протоколом, и вы можете использовать его, чтобы смонтировать каталог на удаленном сервере или локальной ноутбук с помощью сервиса SSHF. С SSHFS вы можете смонтировать удаленную файловую систему сервера на локальный с ОС Linux.n

Подробнее о SSHFS

SSHFS является файловая система на основе протокола передачи SSH файла. Она устанавливается на клиентской системе, её необходимо установить на локальном компьютере / ноутбуке ОС CentOS / RHEL / Ubuntu / Debian / Arch Linux. Нет необходимости устанавливать что-либо на сервере (server1.cyberciti.biz). Вам нужно всего лишь OpenSSH сервер, установленный на стороне сервера. Пример:SShfs installnn n

Установка SSHFS на Ubuntu / Debian / Mint Linux

Введите следующую команду APT-GET:n

sudo apt-get install sshfs

Установка SSHFS на Arch Linux

Введите следующую команду:n

sudo pacman -S sshfs fuse

Установка SSHFS на RHEL (Red Hat) / CentOS Linux

Во-первых, включить репозиторий Epel, а затем введите следующую yum команду, чтобы установить файловую систему FUSE  для доступа удаленных файловых систем с помощью SSH на CentOS / RHEL:n

sudo yum install fuse-sshfs

Как смонтировать удаленную файловую систему?

Синтаксис:n

sshfs user@server /path/to/mountpointnsshfs user@server /path/to/mountpoint options

Во-первых, необходимо создать каталог с помощью MKDIR команды:n

sudo mkdir /mnt/server1

Я собираюсь установить файловую систему, используя root, понадобится ввести пароль root при запросе:n

sudo sshfs [email protected]:/ /mnt/server1/nn##  OR use ssh key based login ##nsudo sshfs -o IdentityFile=~/.ssh/keyfile /mnt/server1/

Проверим монтирование:n

sudo df -h
Filesystem              Size  Used Avail Use% Mounted onn/dev/mapper/wks05-root  487G  114G  350G  25% /nnone                    4.1k     0  4.1k   0% /sys/fs/cgroupnudev                     17G  4.1k   17G   1% /devntmpfs                   3.4G  1.9M  3.4G   1% /runn/dev/sda1               239M   89M  138M  40% /[email protected]:/     20G   12G  6.8G  64% /mnt/server1

Для доступа и / или просмотра удаленной файловой системы, выполните:n

sudo -sncd /mnt/server1nls -l

Пример вывода:sshfs-ls-outputsnn n

Работа с ошибками «Отказано в доступе», и процедура мониторинга удаленного каталога

Если вы получаете сообщение об ошибке, при чтении: не может получить доступ к server1: Отказано в доступе (Permission denied), добавьте себя в группу под названием fuse:n

$ sudo gpasswd -a "$USER" fusenAdding user nixcraft to group fuse

Затем создайте точку монтирования внутри вашего собственного домашнего каталога:n

$ mkdir $HOME/server1n$ ls -ld !$nls -ld $HOME/server1ndrwxrwxr-x 2 nixcraft nixcraft 4096 Mar  8 04:34 /home/nixcraft/server1

Для монтирования удаленной файловой системы, введите:n

 sshfs -o idmap=user  [email protected]:/ $HOME/server1ndfnls -l $HOME/server1

sshfs-local-user-mount-command-wihout-root-accessnn n

Как отмонтировать удаленную файловую систему?

Синтаксис:n

sudo umount /mnt/server1nn## или ##nfusermount -u /mnt/server1

Проверим:n

df -h

Как монтировать удаленную файловую систему автоматически при загрузке?

Отредактируйте файл /etc/fstab:n

sudo vi /etc/fstat

Синтаксис:n

userNameHere@FQDN_OR_IP_HERE:/path/to/source/  /local/mountdir/  fuse.sshfs  defaults,_netdev  0  0

Примеры

Добавьте следующую запись в конец файла:n

sshfs#[email protected]:/ /mnt/server1

Другой пример с дополнительными опциями:n

sshfs#[email protected]:/ /mnt/server1 fuse defaults,idmap=user,allow_other,reconnect,_netdev,users,IdentityFile=/path/to/.ssh/keyfile 0 0

Рекомендованный вариант для монтирования, если вы используете Systemd:n

[email protected]:/project/www/ /mnt/server1  fuse.sshfs noauto,x-systemd.automount,_netdev,users,idmap=user,IdentityFile=/home/vivek/.ssh/id_rsa,allow_other,reconnect 0 0

Сохраните файл. Описание параметров:n

    n

  1. [email protected]: Удаленный сервер с SSHD
  2. fuse: Тип файловой системы.
  3. idmap=user: только подключения пользователя с определенным  UID.
  4. allow_other: Разрешить доступ для других пользователей.
  5. reconnect: Подключитесь к серверу.
  6. _netdev: файловая система находится на устройстве, которое требует доступа к сети (используется для защиты системы от попыток монтировать эти файловые системы, пока сеть не была включена в системе).
  7. users: Разрешить всем пользователям монтировать и размонтировать файловую систему.
  8. IdentityFile=/path/to/.ssh/keyfile —  файл ключей SSH.