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.