Начало
Сегодня смонтируем в локальную систему удаленную папку, используя только 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