Смонтировать удаленный каталог с помощью SSH

Как подключить удаленный каталог с помощью SSH так же, как если бы он был локальным каталогом?

69
задан 19 June 2015 в 19:12

7 ответов

Сначала установите модуль:

sudo apt-get install sshfs

Загрузите его в ядро ​​

sudo modprobe fuse

Установка разрешений

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 

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

0
ответ дан 19 June 2015 в 19:12

Настройка аутентификации на основе ключей ssh ​​

Генерация пары ключей на локальном хосте.

$ ssh-keygen -t rsa

Примите все предложения с помощью клавиши ввода.

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

$ 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

Имя удаленного пользователя обязательно.

Сохранить и выйти

Запустить autofs в режиме отладки

$ sudo service autofs stop
$ sudo automount -vf

Наблюдать журналы удаленного ssh-сервера

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

Проверить содержимое локального каталога

Вы должны увидеть содержимое удаленного каталога

Запустить autofs в обычном режиме

Остановите работу AutoFS в режиме отладки с помощью CTRL-C.

Запустите AutoFS в обычном режиме

$ sudo service autofs start

Enjoy

(протестировано Ubuntu 14.04)

0
ответ дан 19 June 2015 в 19:12

Установить 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
0
ответ дан 19 June 2015 в 19:12

Исходя из моих экспериментов, явное создание группы предохранителей и добавление в нее вашего пользователя НЕ требуется для монтирования файловой системы 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/

0
ответ дан 19 June 2015 в 19:12

Хотя это не совсем ответ на ваш вопрос, я просто хотел упомянуть, что вы можете достичь той же цели, используя «sftp». Просто в адресной строке файлового менеджера введите следующую команду:

sftp://remoteuser@111.222.333.444/remote/path
4
ответ дан 8 December 2019 в 09:55

Хочу предупредить, что по умолчанию доступ к удаленному каталогу может получить только пользователь, настроивший монтирование.

Я настроил удаленный каталог и создал crontab с помощью sudo crontab -e. Позже я узнал, что файл резервной копии вообще не записывает удаленный каталог. Затем я обнаружил, что не могу перейти на удаленный диск как root ! Итак, в конце концов я создаю ту же задачу с crontab -e, и все работает, как я и ожидал.

0
ответ дан 8 September 2020 в 17:16

Простым способом запуска монтирования sshfs при запуске также является добавление его в root (или другого пользователя) crontab, например:

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

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

@reboot sleep 60 && sshfs remoteuser@111.222.333.444:/remote/path /home/johndoe/sshfs-path/
1
ответ дан 18 September 2020 в 15:07

Другие вопросы по тегам:

Похожие вопросы: