Устанавливая какую-то рабочую станцию Ubuntu (13.04), я пытаюсь смонтировать удаленную файловую систему (через ssh).
Текущий конфиг
Я создал пользовательский someuser и добавил его в предохранителе группу
Моя запись в 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
из моего понимания:
- auto : явно запрашивает монтирование удаленного fs при загрузке
- _netdev : дождитесь подключения интерфейса, прежде чем пытаться подключить
- user : разрешить любому пользователю запрашивать монтирование этого удаленного местоположения (бесполезно с точки зрения пользователя root, автоматически монтирующего его при загрузке)
- allow_other : позволит любому пользователю (в группе предохранителей?) получить доступ к смонтированному файлу
- IdentityFile : указывает на закрытый ключ в паре с открытым ключом, добавленным в /home/someuser/.ssh/authorized_key удаленного компьютера.
- Переподключение : Не уверен ... Попытаетесь восстановить соединение, если соединение потеряно?
Проблема
При загрузке я регистрируюсь с someuser , запускаю терминал, и / media / remote_dir пуст.
Но от того же пользователя (или рута) я могу смонтировать его, набрав:
mount sshfs#someuser@remote.com:/remote_dir
Он также автоматически монтируется, если я нажимаю на remote_dir в файловом браузере.
Любая подсказка относительно того, что может отсутствовать?
Ответы:
У меня возникла та же проблема после обновления с Oneiric (где автомонтирование работало нормально) до Precise.
Что решило проблему для меня, так это добавление опции delay_connect . Кроме того, я уже использовал опцию "workaround = rename", еще с времен Oneiric. Не уверен, что это все еще нужно сегодня, но, по крайней мере, это не больно.
Моя полная строка / etc / fstab:
Вам, очевидно, нужно будет адаптировать идентификаторы пользователей / групп к вашей собственной среде.
источник
_netdev
проблема объясняется в ответе Тони. Возможно, сеть подключена, но не может разрешить хост. Очевидно, что использование IP-адреса решило бы это, но кому нужны IP-адреса в их fstab?Также, чтобы дополнить все предыдущие комментарии,
Убедитесь, что вы разрешаете некорневым пользователям указывать
allow_other
опцию монтирования в/etc/fuse.conf
Убедитесь, что вы используете каждое монтирование sshfs хотя бы один раз вручную в режиме root, чтобы в
~/.ssh/known_hosts
файл была добавлена подпись хоста .источник
была та же проблема, я думаю, вам нужно авто, чтобы быть noauto. он не должен монтироваться при загрузке, он должен монтироваться при включенном eth
источник
_netdev
, а изменение с помощьюnoauto
сделает его не способным монтировать при загрузке (только явно при использовании команды монтирования )Если вам необходимо смонтировать его с авторитетного DNS-сервера,
/etc/fstab
и имя DNS-сервера вашего удаленного SFTP-сервера предоставляется этим DNS-сервером, вы, безусловно, не сможете подключиться, поскольку имя хоста еще не может быть разрешено. Либо DNS-сервер должен быть запущен при попытке монтирования, либо вы должны найти альтернативный способ получения IP-адреса вашего удаленного сервера.Если это так, вы можете выбрать любое из следующих решений:
delay_connect
опцию, чтобы позволить последовательности загрузки продолжаться, и после запуска последовательности загрузки DNS-сервер подключится./etc/hosts
файл с соответствующим IP-адресом.fstab
Вместо имени хоста используйте IP-адрес вашего удаленного SFTP-сервера .источник
delay_connect
выбор? Где это добавлено? Отредактируйте свой вопрос, чтобы включить в него дополнительную информацию.