Почему не удается автоматически смонтировать sshfs с помощью autofs?
Я отчаянно пытаюсь автоматически смонтировать мою удаленную папку, используя 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)
Чего мне не хватает, чтобы это работало?
1 ответ
Короткий:
Убедитесь, что ваша команда 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=${key//[: #]/}
# add user
[[ ! "$key" =~ "@" ]] && key="${REMOTEDEFAULT}@${key}"
case $key in
${REMOTEDEFAULT}@.Trash*)
exit 1;;
*)
(
echo "-fstype=fuse,idmap=user,rw,nodev,nonempty,transform_symlinks,noatime,allow_other,IdentityFile=/home/${USER}/.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