Назад | Перейти на главную страницу

automount работает, но autofs не монтируется

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

Backgroud


#: automount -V

Linux automount version 5.0.7

Directories:
    config dir:     /etc/default
    maps dir:       /etc
    modules dir:    /usr/lib/x86_64-linux-gnu/autofs

Compile options:
  ENABLE_FORCED_SHUTDOWN ENABLE_IGNORE_BUSY_MOUNTS WITH_HESIOD 
  WITH_LDAP WITH_SASL LIBXML2_WORKAROUND


#: automount -m

autofs dump map information
===========================

global options: none configured

Mount point: /mnt/ssh

source(s):

  instance type(s): file 
  map: /etc/auto.sshfs

  backup | -fstype=fuse,rw,nodev,noatime,allow_other,default_permissions,max_read=65536 :sshfs#USER@REMOTE:/


auto.master

/mnt/ssh        /etc/auto.sshfs         --timeout=30,--ghost,--debug


auto.sshfs

backup          -fstype=fuse,rw,nodev,noatime,allow_other,default_permissions,max_read=65536 :sshfs#USER@REMOTE:/


Когда я автоматически монтирую auto.master на переднем плане, как описано ниже, создается «резервная» папка, и удаленный каталог монтируется без каких-либо проблем. Я могу ls -al папку / mnt / ssh / backup и действительно просматриваю удаленный хост

#:automount -f -v -d auto.master
#:ls -al /mnt/ssh/backup

attempting to mount entry /mnt/ssh/backup
lookup_mount: lookup(file): looking up backup
lookup_mount: lookup(file): backup -> -fstype=fuse,rw,nodev,noatime,allow_other,default_permissions,max_read=65536 :sshfs#USER@REMOTE:/
parse_mount: parse(sun): expanded entry: -fstype=fuse,rw,nodev,noatime,allow_other,default_permissions,max_read=65536 :sshfs#USER@REMOTE:/
parse_mount: parse(sun): gathered options: fstype=fuse,rw,nodev,noatime,allow_other,default_permissions,max_read=65536
parse_mount: parse(sun): dequote(":sshfs#USER@REMOTE:/") -> :sshfs#USER@REMOTE:/
parse_mount: parse(sun): core of entry: options=fstype=fuse,rw,nodev,noatime,allow_other,default_permissions,max_read=65536, loc=:sshfs#USER@REMOTE:/
sun_mount: parse(sun): mounting root /mnt/ssh, mountpoint backup, what sshfs#USER@REMOTE:/, fstype fuse, options rw,nodev,noatime,allow_other,default_permissions,max_read=65536
do_mount: sshfs#USER@REMOTE:/ /mnt/ssh/backup type fuse options rw,nodev,noatime,allow_other,default_permissions,max_read=65536 using module generic 
mount_mount: mount(generic): calling mkdir_path /mnt/ssh/backup
mount_mount: mount(generic): calling mount -t fuse -s -o rw,nodev,noatime,allow_other,default_permissions,max_read=65536 sshfs#USER@REMOTE:/ /mnt/ssh/backup
spawn_mount: mtab link detected, passing -n to mount
mount_mount: mount(generic): mounted sshfs#USER@REMOTE:/ type fuse on /mnt/ssh/backup


Но когда я запускаю службу autofs, как описано ниже, создается «резервная» папка, но как только я пытаюсь открыть каталог, она просто отказывается монтироваться.

#:service autofs start
#:ls -al /mnt/ssh/backup

attempting to mount entry /mnt/ssh/backup
lookup_mount: lookup(file): looking up backup
lookup_mount: lookup(file): backup -> -fstype=fuse,rw,nodev,noatime,allow_other,default_permissions,max_read=65536 :sshfs#USER@REMOTE:/
parse_mount: parse(sun): expanded entry: -fstype=fuse,rw,nodev,noatime,allow_other,default_permissions,max_read=65536 :sshfs#USER@REMOTE:/
parse_mount: parse(sun): gathered options: fstype=fuse,rw,nodev,noatime,allow_other,default_permissions,max_read=65536
parse_mount: parse(sun): dequote(":sshfs#USER@REMOTE:/") -> :sshfs#USER@REMOTE:/
parse_mount: parse(sun): core of entry: options=fstype=fuse,rw,nodev,noatime,allow_other,default_permissions,max_read=65536, loc=:sshfs#USER@REMOTE:/
sun_mount: parse(sun): mounting root /mnt/ssh, mountpoint backup, what sshfs#USER@REMOTE:/, fstype fuse, options rw,nodev,noatime,allow_other,default_permissions,max_read=65536
do_mount: sshfs#USER@REMOTE:/ /mnt/ssh/backup type fuse options rw,nodev,noatime,allow_other,default_permissions,max_read=65536 using module generic
mount_mount: mount(generic): calling mkdir_path /mnt/ssh/backup
mount_mount: mount(generic): calling mount -t fuse -s -o rw,nodev,noatime,allow_other,default_permissions,max_read=65536 sshfs#USER@REMOTE:/ /mnt/ssh/backup
spawn_mount: mtab link detected, passing -n to mount
>> read: Connection reset by peer
mount(generic): failed to mount sshfs#USER@REMOTE:/ (type fuse) on /mnt/ssh/backup
dev_ioctl_send_fail: token = 22
failed to mount /mnt/ssh/backup


Я протестировал множество обходных путей, включая, помимо прочего,


У меня закончились идеи, и я застрял.

Заранее спасибо, JS


ОБНОВИТЬ

@KaszpiR - Спасибо за усилия, но правильный ключ уже загружен в файл authorized_keys на удаленном компьютере, и стандартные sftp или sshfs работают безупречно.

Похоже, что сценарий autofs initscript (или один из параметров, используемых для запуска автомонтирования в сценарии) создает проблему, но у него не было времени для ее правильной отладки.

В качестве обходного пути вы можете полностью удалить сценарий /etc/init.d/autofs (update-rc.d autofs удалить и переместить его в резервную копию для безопасного хранения) и запустить автоматическое монтирование вручную или с помощью сценария.

У меня была такая же проблема, мне пришлось добавить ключ ssh от пользователя root при подключении к удаленному компьютеру, чтобы разрешить вход по ssh без пароля:


sudo su -

ssh-keygen -t rsa

ssh-copy-id -i ~/.ssh/id_rsa.pub remote_user@remote_server

попробуйте подключиться к удаленному компьютеру по ssh, пароль запрашивать не нужно.

перезапустить autofs