Почему не удается автоматически смонтировать sshfs с помощью autofs?

5840
Cyril N.

Я отчаянно пытаюсь автоматически смонтировать мою удаленную папку, используя autofs & sshfs, но не могу заставить ее работать. (Я под Fedora 16)

Это работает :

sshfs cx42net@xxx.xxx.xxx.xxx:/my/data /home/cx42net/data-distant -o uid=1000 -o gid=1000 

Поэтому я определил ключ RSA для использования с ssh, попробовал sshподключиться, он работал, не спрашивая мой пароль. Затем я снова попробовал предыдущую sshfsкоманду, и она сработала хорошо (ууу!)

Итак, теперь я хочу использовать autofs, и вот где начинается проблема:

Содержимое моего файла /etc/auto.master:

# # Sample auto.master file # This is an automounter map and it has the following format # key [ -mount-options-separated-by-comma ] location # For details of the format look at autofs(5). # /misc /etc/auto.misc # # NOTE: mounts done from a hosts map will be mounted with the # "nosuid" and "nodev" options unless the "suid" and "dev" # options are explicitly given. # /net -hosts # # Include /etc/auto.master.d/*.autofs # +dir:/etc/auto.master.d # # Include central master map if it can be found using # nsswitch sources. # # Note that if there are entries for /net or /misc (as  # above) in the included master map any keys that are the # same will not be seen as the first read key seen takes # precedence. # +auto.master  /net /etc/auto.sshfs uid=1000,gid=1000,--timeout=30,--ghost 

(1000: 1000) - это мой локальный пользователь uid / gid, а не удаленный (папка SSH, которую я пытаюсь получить)

Мой /etc/auto.sshfs:

data-distant -fstype=fuse,port=22,rw,allow_other :sshfs\#cx42net@xxx.xxx.xxx.xxx\:/mnt/data/dev 

Когда я запускаю autofs, вот что я получил в /var/log/messages:

Oct 28 23:59:30 pc-maison autofs[3318]: Starting automount: [ OK ] 

Так что все в порядке.

Но иногда я получал такие сообщения:

Oct 28 23:41:01 pc-maison automount[2453]: create_udp_client: hostname lookup failed: Name or service not known Oct 28 23:41:01 pc-maison automount[2453]: create_tcp_client: hostname lookup failed: Name or service not known Oct 28 23:41:01 pc-maison automount[2453]: lookup_mount: exports lookup failed for data-distant 

Папка /net/data-distantимеет права моего пользователя "cx42net" (1000: 1000)

Чего мне не хватает, чтобы это работало?

3

1 ответ на вопрос

2
Manwe

Короткий:

Убедитесь, что ваша команда sshfs работает с пользователем root.

Longer:

Убедитесь, что у пользователя root установлены ключи идентификации ssh. Монтирование sshfs через autofs использует пользователя root для фактического монтирования.

Это по-прежнему предназначено только для пользователей настольных компьютеров или ноутбуков с одним пользователем, использующим эти крепления!

линия auto.master

нота! используйте свой uid и gid и укажите предпочитаемую точку монтирования, которую я использую / auto / mehtod / address

/auto/sshfs /etc/auto.sshfs uid=1000,gid=1000,--timeout=60,--ghost 

auto.sshfs это немного более универсально, чем одно монтирование

#!/bin/bash  # Shell script that acccepts one argument, namely userid@server # env >> /tmp/env_check # whoami >> /tmp/env_check  key=$1 USER='your_local_user_used_for_ssh_identity_file' REMOTEDEFAULT='default_to_this_user_otherwise_root' key=$  # add user [[ ! "$key" =~ "@" ]] && key="$@$"  case $key in $@.Trash*) exit 1;; *) ( echo "-fstype=fuse,idmap=user,rw,nodev,nonempty,transform_symlinks,noatime,allow_other,IdentityFile=/home/$/.ssh/id_dsa,max_read=65536\\" echo -e "\t /uhome :sshfs\#$key\:\\" echo -e "\t /tmp :sshfs\#$key\:\/tmp\/\\" echo -e "\t /rootfs :sshfs\#$key\:\/") esac  ## this is a bit more complex. It creates subfolders to autofs-mount/remotename ## /uhome = your remote homedirectory ## /rootfs = remote root '/' ## /tmp = remote tmp # same as /roots/tmp 

затем ссылка на папку, к которой вы хотите получить доступ ln -s /auto/sshfs/userid@my.remote.example.com/uhome/ remote-home

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