Hi,

I have 2 dovecot servers, server1.domain.tld and server2.domain.tld and I'm not able to do a simple doveadm backup command between them.
Dovecot version 2.3.11.3, on debian buster, (installed from apt)

I try to execute this cmd between to of my dovecot servers :

doveadm sync -u postmaster@domain.tld remote:root@server2.domain.tld

and it returns :

doveadm(postmaster@domain.tld): Debug: remote(/var/run/dovecot/doveadm-server): auth-master: userdb lookup(postmaster@domain.tld): Started userdb lookup
doveadm(postmaster@domain.tld): Debug: remote(/var/run/dovecot/doveadm-server): auth-master: conn unix:/var/run/dovecot/auth-userdb: Connecting
doveadm(postmaster@domain.tld): Debug: remote(/var/run/dovecot/doveadm-server): auth-master: conn unix:/var/run/dovecot/auth-userdb (pid=118292,uid=0): Client connected (fd=15)
doveadm(postmaster@domain.tld): Debug: remote(/var/run/dovecot/doveadm-server): auth-master: userdb lookup(postmaster@domain.tld): auth USER input: postmaster@domain.tld mail=maildir:/mails/2/domain.tld/postmaster/Maildir:INDEX=/var/lib/dovecot/indexes/domain.tld/postmaster@domain.tld home=/mails/2/domain.tld/postmaster quota_rule=*:storage=3145728000b:messages=500k
doveadm(postmaster@domain.tld): Debug: remote(/var/run/dovecot/doveadm-server): auth-master: userdb lookup(postmaster@domain.tld): Finished userdb lookup (username=postmaster@domain.tld mail=maildir:/mails/2/domain.tld/postmaster/Maildir:INDEX=/var/lib/dovecot/indexes/domain.tld/postmaster@domain.tld home=/mails/2/domain.tld/postmaster quota_rule=*:storage=3145728000b:messages=500k)
doveadm(postmaster@domain.tld): Debug: remote(/var/run/dovecot/doveadm-server): Added userdb setting: mail=maildir:/mails/2/domain.tld/postmaster/Maildir:INDEX=/var/lib/dovecot/indexes/domain.tld/postmaster@domain.tld
doveadm(postmaster@domain.tld): Debug: remote(/var/run/dovecot/doveadm-server): Added userdb setting: plugin/quota_rule=*:storage=3145728000b:messages=500k
doveadm(postmaster@domain.tld): Debug: remote(/var/run/dovecot/doveadm-server): Effective uid=65534, gid=65534, home=/mails/2/domain.tld/postmaster
doveadm(postmaster@domain.tld): Debug: remote(/var/run/dovecot/doveadm-server): Quota root: name=Mailbox backend=count args=
doveadm(postmaster@domain.tld): Debug: remote(/var/run/dovecot/doveadm-server): Quota rule: root=Mailbox mailbox=* bytes=3145728000 messages=512000
doveadm(postmaster@domain.tld): Debug: remote(/var/run/dovecot/doveadm-server): Quota grace: root=Mailbox bytes=314572800 (10%)
doveadm(postmaster@domain.tld): Debug: remote(/var/run/dovecot/doveadm-server): Namespace inbox: type=private, prefix=INBOX., sep=., inbox=yes, hidden=no, list=yes, subscriptions=yes location=maildir:/mails/2/domain.tld/postmaster/Maildir:INDEX=/var/lib/dovecot/indexes/domain.tld/postmaster@domain.tld
doveadm(postmaster@domain.tld): Debug: remote(/var/run/dovecot/doveadm-server): maildir++: root=/mails/2/domain.tld/postmaster/Maildir, index=/var/lib/dovecot/indexes/domain.tld/postmaster@domain.tld, indexpvt=, control=, inbox=/mails/2/domain.tld/postmaster/Maildir, alt=
doveadm(postmaster@domain.tld): Debug: remote(/var/run/dovecot/doveadm-server): Namespace : type=private, prefix=, sep=, inbox=no, hidden=yes, list=no, subscriptions=no location=fail::LAYOUT=none
doveadm(postmaster@domain.tld): Debug: remote(/var/run/dovecot/doveadm-server): none: root=, index=, indexpvt=, control=, inbox=, alt=
doveadm(postmaster@domain.tld): Debug: remote(/var/run/dovecot/doveadm-server): quota: quota_over_flag check: quota_over_script unset - skipping
doveadm(postmaster@domain.tld): Debug: remote(/var/run/dovecot/doveadm-server): brain M: Namespace INBOX. has location maildir:/mails/2/domain.tld/postmaster/Maildir:INDEX=/var/lib/dovecot/indexes/domain.tld/postmaster@domain.tld
doveadm(postmaster@domain.tld): Debug: remote(/var/run/dovecot/doveadm-server): Namespace INBOX.: Using permissions from /mails/2/domain.tld/postmaster/Maildir: mode=0700 gid=default
doveadm(postmaster@domain.tld): Error: remote(/var/run/dovecot/doveadm-server): read(root@server2.domain.tld) failed: EOF (version not received)
doveadm(postmaster@domain.tld): Debug: remote(/var/run/dovecot/doveadm-server): auth-master: conn unix:/var/run/dovecot/auth-userdb (pid=118292,uid=0): Disconnected: Connection closed (fd=15)

On the destination server, I can see that the destination server is well retrieving the user's info in userdb, before saying : 
server2 dovecot: doveadm: Error: read(<local>) failed: EOF (version not received)

I tried to activate verbosity everywhere, but It does not show anything, like :

ssh -v -lroot server2.domain.tld doveadm dsync-server -upostmaster@domain.tld -U

debug1: Authentication succeeded (publickey).
Authenticated to server2;domain.tld ([w.x.y.z]:22).
debug1: channel 0: new [client-session]
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug1: pledge: network
debug1: client_input_global_request: rtype hostkeys-00@openssh.com want_reply 0
debug1: Remote: /root/.ssh/authorized_keys:4: key options: agent-forwarding port-forwarding pty user-rc x11-forwarding
debug1: Remote: /root/.ssh/authorized_keys:4: key options: agent-forwarding port-forwarding pty user-rc x11-forwarding
debug1: Sending environment.
debug1: Sending env LANG = fr_FR.UTF-8
debug1: Sending command: doveadm dsync-server -upostmaster@domain.tld -U
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0
debug1: channel 0: free: client-session, nchannels 1
Transferred: sent 2800, received 2820 bytes, in 0.1 seconds
Bytes per second: sent 25466.2, received 25648.1
debug1: Exit status 0

If somebody can tell me some hints to go further, it'll be very apreciate.

Thanks !

Here is the doveconf -n output (the two servers have the same)

# 2.3.11.3 (502c39af9): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.11 (6c69c917)
# OS: Linux 4.19.0-12-amd64 x86_64 Debian 10.6
# Hostname: server1
auth_cache_negative_ttl = 0
auth_cache_size = 100 M
auth_cache_ttl = 5 mins
auth_master_user_separator = *
default_client_limit = 2000
disable_plaintext_auth = no
doveadm_api_key = # hidden, use -P to show it
doveadm_worker_count = 50
listen = w.x.y.z
mail_fsync = always
mail_gid = nogroup
mail_location = maildir:~/Maildir:INDEX=/var/lib/dovecot/indexes/%d/%n
mail_max_userip_connections = 300
mail_plugins = quota
mail_uid = nobody
maildir_very_dirty_syncs = yes
namespace inbox {
  inbox = yes
  location =
  mailbox Drafts {
    auto = subscribe
    special_use = \Drafts
  }
  mailbox Junk {
    auto = subscribe
    autoexpunge = 90 days
    special_use = \Junk
  }
  mailbox Sent {
    auto = subscribe
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    auto = no
    special_use = \Sent
  }
  mailbox Trash {
    auto = subscribe
    autoexpunge = 90 days
    special_use = \Trash
  }
  prefix = INBOX.
  separator = .
}
passdb {
  args = /etc/dovecot/master-users
  driver = passwd-file
  master = yes
  result_success = continue
}
passdb {
  args = /etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}
plugin {
  imapsieve_mailbox1_before = file:/var/lib/dovecot/sieve/report-spam.sieve
  imapsieve_mailbox1_causes = COPY
  imapsieve_mailbox1_name = INBOX.Junk
  imapsieve_mailbox2_before = file:/var/lib/dovecot/sieve/report-ham.sieve
  imapsieve_mailbox2_causes = COPY
  imapsieve_mailbox2_from = INBOX.Junk
  imapsieve_mailbox2_name = *
  quota = count:Mailbox
  quota_rule = *:storage=1G:messages=500k
  quota_vsizes = yes
  sieve = file:~/sieve;active=~/.dovecot.sieve
  sieve_before = /var/lib/dovecot/sieve/antispam.sieve
  sieve_global_extensions = +vnd.dovecot.pipe +vnd.dovecot.environment +spamtest +spamtestplus
  sieve_pipe_bin_dir = /var/lib/dovecot/sieve
  sieve_plugins = sieve_imapsieve sieve_extprograms
  sieve_spamtest_max_header = X-Spam-Status: [[:alnum:]]+, score=-?[[:digit:]]+\.[[:digit:]] required=([[:digit:]]+\.[[:digit:]]).*
  sieve_spamtest_status_header = X-Spam-Status: [[:alnum:]]+, score=(-?[[:digit:]]+\.[[:digit:]])
  sieve_spamtest_status_type = score
}
pop3_fast_size_lookups = yes
pop3_reuse_xuidl = yes
pop3_save_uidl = yes
pop3_uidl_format = %f
protocols = imap pop3 lmtp
service anvil {
  client_limit = 5000
  unix_listener anvil-auth-penalty {
    mode = 00
  }
}
service auth {
  client_limit = 0
}
service doveadm {
  inet_listener http {
    port = 8080
  }
  vsz_limit = 2 G
}
service imap-login {
  process_limit = 2000
  service_count = 1
}
service imap {
  client_limit = 1
  process_limit = 5000
  vsz_limit = 1 G
}
service indexer-worker {
  process_limit = 20
}
service lmtp {
  client_limit = 1
  inet_listener lmtp {
    port = 24
  }
  process_limit = 200
  process_min_avail = 20
  vsz_limit = 1 G
}
service pop3-login {
  process_limit = 2000
  service_count = 1
}
ssl = no
submission_host = smtp.domain.tld:25
userdb {
  args = /etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}
protocol lmtp {
  mail_plugins = quota sieve
}
protocol imap {
  mail_plugins = quota imap_sieve imap_quota
}