sshfs не устанавливается автоматически при загрузке, несмотря на конфигурацию / etc / fstab

20

Настройка рабочей станции Ubuntu (13.04), я пытаюсь установить удаленную файловую систему (поверх ssh).

Текущая конфигурация

  • Я создал пользователя someuser и добавил его в группу fuse

  • Моя запись fstab читается следующим образом:

    sshfs#someuser@remote.com:/remote_dir  /media/remote_dir/   fuse    auto,_netdev,port=22,user,allow_other,noatime,follow_symlinks,IdentityFile=/home/someuser/.ssh/id_rsa,reconnect     0       0
    

из моего понимания:

  • Авто : явно запрашивает удаленные fs для установки при загрузке
  • _netdev : подождите, пока интерфейс не встанет перед тем, как попытаться установить
  • пользователь : разрешить любому пользователю запрашивать установку этого конкретного удаленного места (бесполезно в перспективе пользователя root, автоматически устанавливающего его при загрузке).
  • allow_other : разрешит любому пользователю (в группе плавких предохранителей?) доступ к установленным fs
  • IdentityFile : указывает на закрытый ключ в паре с открытым ключом, добавленным в /home/someuser/.ssh/authorized_key удаленной машины.
  • повторно подключиться : не уверен ... Будет ли попытка повторного подключения, если соединение потеряно?

Проблема

  • При загрузке я регистрируюсь с помощью someuser , запускаю терминал, а / media / remote_dir пуст.

  • Но от одного и того же пользователя (или от корня) я могу установить его, просто набрав:

    mount sshfs#someuser@remote.com:/remote_dir
    

    Он также монтируется автоматически, если я нажимаю remote_dir в браузере файлов.

Любая подсказка о том, что может отсутствовать?

    
задан Ad N 31.07.2013 в 15:16
источник

4 ответа

13

Я испытал ту же самую проблему после обновления от Oneiric (где automount работал отлично) до Precise.

Для меня проблема заключалась в добавлении опции delay_connect . Кроме того, я использовал опцию «workaround = rename» уже раньше, начиная с Oneiric раз. Не уверен, что это все еще необходимо сегодня, но, по крайней мере, это не кажется больным.

Моя полная строка / etc / fstab:

sshfs#user@host:/remote/dir /local/dir fuse delay_connect,idmap=user,uid=1000,gid=1000,umask=0,allow_other,_netdev,workaround=rename 0 0

Вам, очевидно, потребуется адаптировать идентификаторы пользователей и групп к вашей собственной среде.

    
ответ дан lbo 18.08.2013 в 17:56
0

была та же проблема, я думаю, вам нужно авто, чтобы быть noauto. он не должен монтироваться при загрузке, он должен монтироваться, когда eth находится вверх

    
ответ дан Piet Bijl 06.12.2013 в 09:21
0

Если вы хотите подключить его к серверу /etc/fstab авторитетного DNS-сервера, а имя хоста вашего удаленного SFTP-сервера предоставлено этим DNS-сервером, вы, разумеется, не сможете подключиться, потому что имя хоста не может быть разрешено все же. Либо DNS-сервер должен быть запущен при попытке подключения, либо вам нужно найти альтернативный метод для получения IP-адреса вашего удаленного сервера.

Если это так, вы можете выбрать любое из следующих решений:

  • Добавьте параметр delay_connect , чтобы он продолжал последовательность загрузки, и после того, как последовательность загрузки запустила DNS-сервер, он будет подключаться.
  • Добавьте имя хоста удаленного сервера SFTP в локальный файл /etc/hosts с соответствующим IP-адресом.
  • Используйте IP-адрес удаленного SFTP-сервера в fstab вместо имени хоста.
ответ дан Tony 08.11.2015 в 01:26
0

Кроме того, чтобы дополнить все предыдущие комментарии,

  1. Убедитесь, что пользователи, не являющиеся root, указали параметр allow_other mount в /etc/fuse.conf

  2. Убедитесь, что вы используете каждый монстр sshfs хотя бы один раз вручную, а root - так, что подпись хоста добавляется в файл ~/.ssh/known_hosts .

    sshfs [user]@[host]:[remote_path] [local_path] -o allow_other,IdentityFile=[path_to_id_rsa]
    
ответ дан Martin Brousseau 15.04.2017 в 03:24