Привет. Сегодня я покажу вам довольно интересную, и в очень многих случаях, очень полезную штуку. Я покажу, как можно примонтировать в локальную систему удаленную папку, используя только ssh, точнее sftp доступ, без использования samba, nfs и прочих прелестей.
Думаю смысла особого говорить где это может пригодится нет, так что сразу покажу как это дело можно реализовать. Делается это совсем не сложно.
Для начала необходимо установить sshfs, например в Ubuntu (все команды выполняются от rootа):
apt install sshfs
Для того, что бы примонтировать удаленную папку:
sshfs sanglyb@192.168.1.100:/home/sanglyb /mnt
Соответсвенно /home/sanglyb — удаленная пака, /mnt — папка, куда нужно примонтировать удаленную папку.
Если используются ключи для авторизации, то команда будет иметь вид:
sshfs -o IdentityFile=~/.ssh/id_rsa sanglyb@192.168.1.100:/home/sanglyb /mnt
Если у вас используется не стандартный порт для ssh, то можно добавить ключ -p номер порта, т. е. Команда будет иметь вид:
sshfs -p 10022 -o IdentityFile=~/.ssh/id_rsa sanglyb@192.168.1.100:/home/sanglyb /mnt
Так же можно сделать, что бы sshfs автоматически монтировал папку, для этого в файл /etc/fstab нужно добавить строчку:
sshfs#sanglyb@192.168.1.100:/home/sanglyb /mnt fuse defaults,idmap=user,port=22,allow_other,reconnect,_netdev,users,identityfile=/root/.ssh/id_rsa 0 0
После чего, перезагрузить сервер, либо выполнить команду:
mount -a
Для того что бы отмонтировать папку нужно выполнить команду:
umount /mnt
Возможно у вас возникнет ошибка вида:
fuse: bad mount point `/mnt’: Transport endpoint is not connected
Для ее исправления можно воспользоваться командой:
fusermount -u /mnt
