Змонтуйте віддалений каталог за допомогою SSH


69

Як змонтувати віддалений каталог за допомогою того, SSHщоб він був доступний так само, як якщо б це місцевий каталог?

Відповіді:


78

Спочатку встановіть модуль:

sudo apt-get install sshfs

Завантажте його в ядро:

sudo modprobe fuse

Налаштування дозволів (версії Ubuntu <16.04):

sudo adduser $USER fuse
sudo chown root:fuse /dev/fuse
sudo chmod +x /dev/fusermount

Тепер ми створимо каталог для монтажу віддаленої папки.

Я вирішив створити його у своєму домашньому каталозі та назвати його remoteDir.

mkdir ~/remoteDir

Тепер я запустив команду встановити його (mount on home):

sshfs maythux@192.168.xx.xx:/home/maythuxServ/Mounted ~/remoteDir

Тепер його слід встановити:

cd ~/remoteDir
ls -l

Я трохи розгублений ... в sshfsкоманді я думаю, що локальний каталог remoteDirmountpoint названий , і коли я перебуваю на ssh serever, є dir, /home/maythuxServ/Mountedякий не встановлений локально, і я не можу сказати, або дбайливо, чи встановлений він в іншому місці?
Volker Siegel

3
Я пропустив деякі з цих кроків під 14.04 , коли я використовував наступне керівництво: help.ubuntu.com/community/SSHFS
Hemm

4
Немає запобіжників групи потрібно (Ubuntu 16.04, листопад 2017): stackoverflow.com/questions/35635631/ubuntu-15-10-no-fuse-group
Matt Kleinsmith

2
18.04 я пропустив повний другий блок - налаштування дозволів, і він працює чудово.
оптиміст

3
Половина цієї відповіді або не працює, або застаріла. Будь ласка, подумайте про оновлення.
Luís de Sousa

18

Налаштування аутентифікації на основі ключа ssh

Створити пару ключів на локальному хості.

$ ssh-keygen -t rsa

Прийміть всі пропозиції із клавішею enter.

Скопіюйте відкритий ключ на віддалений хост:

$ ssh-copy-id -i .ssh/id_rsa.pub user@host

Встановіть sshfs

$ sudo apt install sshfs

Змонтувати віддалений каталог

$ sshfs user@host:/remote_directory /local_directory

Не намагайтеся додавати віддалені fs до / etc / fstab

Або не намагайтеся монтувати акції через /etc/rc.local.

В обох випадках вона не працюватиме, оскільки мережа недоступна, коли init читає / etc / fstab.

Встановіть AutoFS

$ sudo apt install autofs

Редагувати /etc/auto.master

Прокоментуйте наступні рядки

#+/etc/auto.master.d
#+/etc/auto.master

Додайте новий рядок

/- /etc/auto.sshfs --timeout=30

Збережіть і закрийте

Редагувати /etc/auto.sshfs

Додайте новий рядок

/local_directory -fstype=fuse,allow_other,IdentityFile=/local_private_key :sshfs\#user@remote_host\:/remote_directory

Віддалене ім’я користувача є обов'язковим.

Збережіть і закрийте

Запуск автофайлів у режимі налагодження

$ sudo service autofs stop
$ sudo automount -vf

Дотримуйтесь журналів віддаленого сервера ssh

$ ssh user@remote_server
$ sudo tailf /var/log/secure

Перевірте вміст локального каталогу

Ви повинні побачити вміст віддаленого каталогу

Запуск автофайлів у звичайному режимі

Зупиніть роботу AutoFS в режимі налагодження за допомогою CTRL-C.

Запустіть AutoFS у звичайному режимі

$ sudo service autofs start

Насолоджуйтесь

(Тестовано на Ubuntu 14.04)


5

На основі моїх експериментів явно створення групи запобіжників та додавання до нього вашого користувача НЕ потрібно для монтажу файлової системи ssh.

Підводячи підсумок, ось кроки, скопійовані з цієї сторінки:

  1. Встановити sshfs

$ sudo apt-get install sshfs

2.Створіть місцеву точку кріплення

$ mkdir /home/johndoe/sshfs-path/

3.Змініть віддалену папку /remote/pathна/home/johndoe/sshfs-path/

$ sshfs remoteuser@111.222.333.444:/remote/path /home/johndoe/sshfs-path/

  1. І, нарешті, міркувати ...

$ fusermount -u /home/johndoe/sshfs-path/


3

Встановіть sshfs

sudo apt-get install sshfs

Додати в fstab:

<USER>@<SERVER_NAME>:<server_path> <local_path> fuse.sshfs delay_connect,_netdev,user,idmap=user,transform_symlinks,identityfile=/home/<YOUR_USER_NAME>/.ssh/id_rsa,allow_other,default_permissions,rw,nosuid,nodev,uid=1000,gid=1000,nonempty 0 0
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.