- sshfs — подключаем удаленные папки по ssh
- Монтируем удаленную файловую систему через SSH.
- Монтирование сетевой папки в Linux | Ubuntu
- Ручное монтирование сетевой папки
- Автоматическое монтирование сетевой папки при загрузки системы
- Монтирование сетевой папки в Linux
- Монтирование сетевой папки в Linux
- Подключение и настройка SSHFS в Linux
- Подключение SSHFS в Linux
- Автоматическое монтирование SSHFS
- Выводы
sshfs — подключаем удаленные папки по ssh
Для того, чтобы на наш компьютер (Linux) подключить папку с удаленного сервера (Linux), можно использовать sshfs.
Установка простая, пример для CentOS ниже (для Ubuntu/Debian вроде так: apt-get install sshfs ).
Внимание! Все команды ниже выполняются на клиенте! Сервер вообще не в курсе, что вы что-то монтируете — для сервера вы просто заходите по ssh.
Например, на сервере 192.168.15.22 запущен sshd на порте 2113. Подключаться можно с именем пользователя vasya.
На этом удаленном сервере есть папка /home/vasya/docs.
На нашем компьютере создаем папку (например, /mnt/vasya_from_work), в которую будем подключать папку с сервера (/home/vasya/docs). Запускаем команду:
$ sshfs -p 2113 vasya@192.168.15.22:/home/vasya/docs/ /mnt/vasya_from_work/
При этом вы должны учитывать права доступа к содержимому папки. То, что не Васино в папке на сервере, вы не увидите в примонтированной папке на своем компьютере.
Если при попытке примонтировать папку появляются ошибки монтирования fuse (могут быть разными), то добавьте своего пользователя в группу fuse:
После этого надо выйти из Васи и снова войти в него (иначе usermod не подействует и под Васей вы не сможете, возможно, примонтировать удаленную папку).
Теперь вы можете без прав супер пользователя монтировать удаленные папки.
После того, как примонтировали диск, можете просмотреть список дисков:
Другие пользователи вашим примонтированным «диском» воспользоваться не смогут.
$ fusermount -u /mnt/vasya_from_work/
Что еще? Можно настроить sshfs на автомонтирование через /etc/fstab. Наверное, это удобно кому-то. Мне это не нужно было и я не проверял. К тому же, не ясно, как эта штука себя ведет, если сеть была недоступна некоторое время. Для резервного копирования через ssh можно использовать rsync. Для доступа к файлам WinSCP или другие клиенты. Это просто еще один вариант как можно решать задачи по копированию файлов через ssh.
Источник
Монтируем удаленную файловую систему через SSH.
Во время работы часто приходится работать с удаленными файлами, часто через ssh. Gnome позволяет подключиться и работать с данными с помощью утилиты Places->Connect to Server, но, к сожалению, таким образом могут работать не все программы… Vim, например, а так как это основной мой редактор — я искал способ сделать это. И нашел 🙂
Все, что написано дальше — касается Linux, в частности Ubuntu Linux.
Итак, способ: смонтировать удаленую систему так же, как вы монтируете локальные диски. Сделать такое возможно с поомщью утилиты sshfs.
Для начала надо ее установить вместе с несколькими зависимостями:
$sudo apt-get install sshfs
Потом нужно добавить себя в группу пользователей fuse. Сделать это надо, потому что программа устанавливвается в системные папки, в которые обычным пользователям доступ запрещен. Так, добавляем себя в группу:
$sudo adduser fuse
Потом создаем директорию для монтирования, например, на рабочем столе:
Теперь надо выйти с терминала и зайти вновь. Все, теперь мы в группе fuse. Пробуем соединиться с сервером:
Если соединение идет не по ключу то, скорее всего, у вас появится запрос на введение пароля с удаленной машины.
Если же вы сразу не получили ошибку fusermount: fuse device not found, try ‘modprobe fuse’ first — проверяйте директорию, там должны появиться файлики :). Если же вылезла ошибка — значит модуль ядра fuse не загрузился автоматом, пробуем загрузить вручную:
$sudo modprobe fuse
Пробуем установить соединение еще раз.
Чтобы отмонтировать это все дело, надо выполнить следующее:
Чтобы каждый раз не вводить такую кучу комманд — создаем(если нету) и редактируем файл
/.bash_aliases, добавляя в конец такие строчки:
alias testssh=’sshfs user@example.com:/stuff
/Desktop/test_ssh’
alias testssh_umount=’fusermount -u
Теперь вы сможете монтировать удаленную машину командой testssh, а размонтировать — testssh_umount 🙂
Cпасибо за внимание!
ЗЫ Статью сначала перевел с английского на украинский, добавил немного своего и перевел на русский для Хабра 🙂
Источник
Монтирование сетевой папки в Linux | Ubuntu
Сегодня в статье рассмотрим пример монтирования сетевой папки в операционную систему Linux, на примере Elementary OS/
Для работы c сетевыми дисками SMB/CIFS (Windows или Samba) нам понадобиться утилита cifs-utils. Для её установки открываем терминал и набираем следующую команду:
Далее потребуется создать директорию, куда мы хотим примонтировать нашу расшаренную сетевую папку. Для этого давайте наберем вот такую команду:
- user — имя вашего пользователя
- share — название директория куда будем монтировать нашу сетевую папку
Ручное монтирование сетевой папки
Далее набираем команду для монтирования нашей сетевой папке.
Если используются русские буквы или пробел в имени сетевой папки, надо весь путь заключить в кавычки «//192.168.0.1/Документы»
Так же сразу можно задать права доступа и кодировку, тогда надо вписать следующие параметры
- mount -t cifs — тип устройства/директории
- //ip — IP адрес сервера
- /home/user/share — в эту директорию будет примонтирована сетевая папка
- -o — задаем дополнительные опции монтирования
- username=user2 — это имя пользователя на удаленном хосте (сервере)
- password=parol — это пароль пользователя user2
- domain — название домена (рабочей группы)
- iocharset=utf8 — указываем кодировку (cp1251, koi8-r)
- file_mode=0777 — права доступа к файлам
- dir_mode=0777 — права доступа к директориям
Автоматическое монтирование сетевой папки при загрузки системы
Для этого создадим файл, куда мы сможем вписать информацию о пользователе(логин, пароль, домен/рабочая группа)
Для безопасности ограничим доступ к файлу с нашими данными:
Редактируем файл /etc/fstab
Также если при попытки создать или удалить какие либо файлы у Вас не хватает прав, то необходимо добавить uid и gid параметры.
Если не было ошибок, проверяем
Видим примонтированную папку, при следующей загрузки системы, будет автоматически примонтирована сетевая папка.
Если есть вопросы, то пишем в комментариях.
Также можете вступить в Телеграм канал, ВК или подписаться на Twitter. Ссылки в шапки страницы.
Заранее всем спасибо.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
Монтирование сетевой папки в Linux
В одной из прошлых статей мы рассматривали как настраивать сетевые папки в Linux с помощью NFS. Если в Windows используется для этих целей Samba, то в Linux принято организовывать общие папки с помощью сетевой файловой системы NFS.
В этой статье мы поговорим о том как монтировать такие папки вручную, а также как настроить их монтирование при обращении с помощью autofs. Так вы будете экономить трафик между серверами и получите неплохую производительность.
Монтирование сетевой папки в Linux
Для того чтобы примонтировать сетевую папку в системе должен быть установлен пакет nfs-commons. В Ubuntu его можно установить такой командой:
sudo apt install nfs-common
Затем можно выполнять монтирование с помощью обычной команды mount, которой надо передать адрес сервера NFS и путь к папке в файловой системе сервера. Например, чтобы смонтировать папку /var/nfs выполните:
sudo mount ip_адрес:/var/nfs /mnt
Никакой авторизации в NFS нет, поддерживается только ограничение доступа по IP адресу, поэтому монтирование должно пройти успешно. Если статическое монтирование работает хорошо, можно переходить к настройке autofs. Не забудьте размонтировать сетевую папку:
sudo umount /mnt
Сначала нужно установить этот сервис. Для этого в Ubuntu выполните команду:
sudo apt install autofs
Все настройки сетевых папок, которые надо монтировать находятся в файле /etc/auto.master. Каждая строчка представляет из себя отдельную папку и имеет такой синтаксис:
/точка/монтирования /файл/с/карты —timeout=значение
Здесь файл карты, обычно это /etc/auto.misc — файл в котором более подробно описано что и куда надо монтировать. Синтаксис одной записи в файле /etc/auto.misc такой:
/точка/монтирования опции_монтирования ip_адрес:/путь/к/сетевой/папке
Для примера будем монтировать ту же сетевую папку /var/nfs на сервере 185.117.155.209 в локальную папку /mnt. В файл /etc/auto.master надо добавить такую строчку:
sudo vi /etc/auto.master
/mnt /etc/auto.nfs —timeout=100
Здесь мы сообщаем, что общая папка монтирования для всех ресурсов, описанных в файле /etc/auto.nfs — /mnt и если к ресурсу не обращаются на протяжении 100 секунд, то её следует размонтировать. Далее надо добавить описание монтирования в файл /etc/auto.nfs:
sudo vi /etc/auto.nfs
share -fstype=nfs4,rw 185.117.155.209:/var/nfs
Здесь — share это точка монтирования нашей сетевой папки в папке /mnt, затем идут опции монтирования, а потом адрес сервера и путь к папке на удалённой машине. Далее надо перезапустить сервис autofs:
sudo systemctl restart autofs
Затем можно попытаться обратиться к этой папке и она автоматически смонтируется:
Как видите, всё достаточно просто. Так и выполняется автоматическое монтирование сетевых папок в Linux. Но чтобы у вас появилась возможность создавать файлы в этой папке, надо чтобы сервер NFS был правильно настроен. Об этом смотрите предыдущую статью про настройку NFS.
Источник
Подключение и настройка SSHFS в Linux
Файловая система SSHFS (Secure Shell FileSystem) позволяет монтировать файловую систему удалённого сервера с помощью протокола SSH. Это может быть очень удобно, если вам надо передать на удалённый сервер много данных или скачать эти данные оттуда. Конечно, существует утилита scp, но иногда просматривать файловую систему в файловом менеджере намного удобнее.
В этой небольшой статье мы рассмотрим как выполняется подключение SSHFS в Linux, а также как настроить автоматическое монтирование этой файловой системы при загрузке.
Подключение SSHFS в Linux
Для работы файловой системы достаточно SSH доступа к удалённому серверу. На клиентской машине надо установить пакет sshfs. Если он не установлен, команда установки в Ubuntu будет выглядеть следующим образом:
sudo apt install sshfs
Монтирование SSHFS выполняется с помощью одноимённой команды. Её синтаксис такой:
$ sshfs опции имя_пользователя @ адрес : /путь /точка/монтирования
Например, чтобы примонтировать удалённую файловую систему по адресу 192.168.56.103 от имени пользователя root достаточно выполнить:
sudo sshfs root@192.168.56.103:/ /mnt
Теперь вы сможете просмотреть содержимое файловой системы. Но здесь есть одно несколько минусов, во первых — не всегда удобно монтировать файловую систему от имени суперпользователя, а во вторых примонтированная файловая система будет доступна для чтения и записи только суперпользовтелю.
Чтобы получить возможность монтировать от имени обычного пользователя необходимо создать группу fuse:
sudo groupadd fuse
Затем добавить текущего пользователя в эту группу:
sudo usermod -aG fuse $USER
После этого перелогиньтесь в системе, чтобы изменения применились. От имени обычного пользователя вы не сможете примонтировать sshfs в /mnt потому что у вас нет права записи в эту папку, создайте папку для монтирования в домашней папке:
Далее можно пытаться монтировать:
Теперь вы можете использовать эту папку для того чтобы обмениваться файлами с сервером. Если надо чтобы и другие пользователи могли получать доступ к этой папке, надо использовать опцию allow_other. Она будет работать только если в файле /etc/fuse.conf присутствует опция user_allow_other. Добавьте её:
sudo vi /etc/fuse.conf
Теперь можно монтировать:
sshfs -o allow_other root@192.168.56.103:/
Для того чтобы отмонтировать файловую систему используйте привычную команду umount:
Автоматическое монтирование SSHFS
Вы можете настроить автоматическое монтирование SSHFS в файле /etc/fstab. Для этого сначала вам придется создать SSH ключ и отправить его на удалённый сервер. Создайте новый ключ:
Затем передайте его на сервер:
Когда ключ будет загружен, будет достаточно передать утилите в опциях монтирования путь к ключу. Чтобы убедится, что всё работает выполните:
sshfs -o identityfile=
Если всё работает, можно составить сточку конфигурации для /etc/fstab:
sudo vi /etc/fstab
root@192.168.56.103:/ /mnt fuse.sshfs noauto,x-systemd.automount,_netdev,follow_symlinks,identityfile=/home/sergiy/.ssh/id_dsa,allow_other,default_permissions,reconnect 0 0
Путь к файлу ключа должен быть полным, поэтому замените имя пользователя на своё. Для того, чтобы не получать ошибок доступа при записи желательно чтобы имя пользователя на локальной машине и на удалённой совпадали. Или же, можно указать ID пользователя и группы владельца во время монтирования. Сначала посмотрите UID и GID текущего пользователя:
cat /etc/passwd | grep $USER
В данном случае, это 1000. Первая цифра — это UID, вторая — GID. Затем передайте их в опциях монтирования uid и gid:
root@192.168.56.103:/ /mnt fuse.sshfs uid=1000,gid=1000,noauto,x-systemd.automount,_netdev,follow_symlinks,identityfile=/home/sergiy/.ssh/id_dsa,allow_other,default_permissions,reconnect 0 0
Теперь всё должно работать.
Выводы
Теперь вы знаете как выполняется подключение и настройка SSHFS Linux. Как видите, это не очень сложно, но в то же время удобно для передачи большого количества файлов.
Источник