o automount funciona, mas o autofs não monta

4

Eu sei que este assunto já foi discutido tantas vezes que estou quase envergonhado por ainda não ter encontrado a solução para o meu problema. Claramente há algo que eu não entendo e realmente aprecio qualquer entrada ou ponteiro.

Backgroud

  • Linux 3.2.0-4-amd64 # 1 SMP Debian 3.2.51-1 x86_64 GNU / Linux
  • Todos os cmds são executados como root e a chave ssh foi copiada para o comando remoto .ssh / authorized_keys
  • use o ssh-agent para desbloquear a chave
  • O cmd sshfs normal funciona conforme o esperado - sshfs USER@REMOTE:/ /mnt/ssh/backup
  • Adicionar a entrada ao fstab e fazer um "mount -a" funciona como esperado - sshfs#USER@REMOTE:/ /mnt/ssh/backup/ fuse defaults 0 0


#: 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:/


Quando eu monto automaticamente em primeiro plano o auto.master como detalhado abaixo, a pasta "backup" é criada e o diretório remoto é montado sem nenhum problema. Eu posso ls -al a pasta / mnt / ssh / backup e estou realmente navegando no host remoto

#: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


Mas quando eu inicio o serviço autofs como detalhado abaixo, a pasta "backup" é criada, mas assim que eu tento ls o diretório, ele simplesmente se recusa a montar.

#: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


Eu testei várias soluções alternativas, incluindo mas não limitado a

  • escapando de: sshfs # USER @ REMOTE: / - :sshfs\#USER@REMOTE\:/
  • removendo o / - :sshfs#USER@REMOTE:
  • fornecendo um caminho para o meu arquivo de identidade em auto.sshfs - IdentityFile=/root/.ssh/id_rsa
  • especificando uid / gid no auto.master - /mnt/ssh /etc/auto.sshfs uid=0,gid=0,--timeout=30,--ghost


Agora estou sem ideias e preso.

Obrigado antecipadamente, JS


UPDATE

@KaszpiR - Obrigado pelo esforço, mas a chave apropriada já foi enviada para o arquivo authorized_keys do controle remoto e o sftp ou sshfs padrão funciona perfeitamente.

Parece que o autitscript (ou uma das opções usadas para iniciar o automount no script) está criando o problema, mas não teve tempo para depurá-lo adequadamente.

Como solução alternativa, você pode remover completamente o script /etc/init.d/autofs (update-rc.d autofs remove e movê-lo para um local de backup por segurança) e iniciar o automount manualmente ou por meio de um script.

    
por JayC 08.11.2013 / 17:39

1 resposta

1

Eu tive o mesmo problema, tive que adicionar a chave ssh do usuário root ao se conectar à máquina remota, para permitir logins ssh sem senha:


sudo su -

ssh-keygen -t rsa

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

tente ssh para a máquina remota, você não deve ser solicitado a senha.

reiniciar o autofs

    
por 16.12.2013 / 18:42