DT Wiki

Начало

Сегодня смонтируем в локальную систему удаленную папку, используя только ssh, точнее sftp доступ, без использования samba, nfs и прочих прелестей.

Для начала необходимо установить sshfs:

sudo apt install sshfs

Для того, что бы примонтировать удаленную папку создадим каталог, куда мы её будем монтировать:

mkdir /mnt/username

Вместо USERNAME подставляем имя пользователя, чью папку будем монтировать и следующей командой, собственно её и монтируем:

sshfs username@192.168.1.100:/home/username /mnt/username

Соответсвенно /home/username — удалённый домашний каталог, /mnt/username/username — каталог, куда нужно его примонтировать.

При использовании ключей авторизации, команда будет иметь вид:

sshfs -o IdentityFile=/home/username/.ssh/id_rsa username@192.168.1.100:/home/username /mnt/username

Если у вас используется не стандартный порт для ssh, то можно добавить ключ -p номер порта:

sshfs -p 10022 -o IdentityFile=/home/username/.ssh/id_rsa username@192.168.1.100:/home/username /mnt/username

Атоматическое монтирование

Для этого в файл /etc/fstab нужно добавить строчку:

sshfs#username@192.168.1.100:/home/username /mnt/username fuse defaults,idmap=user,port=22,allow_other,reconnect,_netdev,users,identityfile=/home/username/.ssh/id_rsa 0 0

После чего, перезагрузить сервер, либо выполнить команду:

mount -a

Для того что бы отмонтировать папку нужно выполнить команду:

umount /mnt/username

Может возникнуть ошибка вида:

fuse: bad mount point `/mnt/username’: Transport endpoint is not connected

Для ее исправления можно воспользоваться командой:

fusermount -u /mnt/username