I have a very basic postfix/dovecot server, with just a few users, and it works. But in the past I have had hardware failures…so I would like use dsync to a nearly matching server for some extra safety, and I have not yet been successful.
I am trying to do this as root over ssh, with a private key for authentication.
I do not managed to get the whole replicator thing working, so as part of simplifying things I am trying to run dsync manually, just on one user (myself). I hope this isn't a silly approach.
What would the manual command look like? The closest example on the man page is:
$ doveadm sync -u username@example.com ssh -i id_dsa.dovecot
mailuser@example.com doveadm dsync-server -u username@example.com
I try to change that to match my case and it has never heard of me:
root@la:/etc/dovecot# doveadm sync -1 -u kentborg@mail.borg.org ssh -i /root/.ssh/id_rsa_rc.borg.org.dsync kentborg@mail.borg.org doveadm dsync-server -u kentborg@mail.borg.org doveadm(kentborg@mail.borg.org): Error: User doesn't exist root@la:/etc/dovecot#
I drop the machine part of the name and it knows who I am on this end but can't get to the other end:
root@la:/etc/dovecot# doveadm sync -1 -u kentborg ssh -i /root/.ssh/id_rsa_rc.borg.org.dsync kentborg@mail.borg.org doveadm dsync-server -u kent
borg@mail.borg.org kentborg@mail.borg.org's password:
I think I have root's ssh keys set up correctly, I can run this:
root@la:/etc/dovecot# ssh -i /root/.ssh/id_rsa_rc.borg.org.dsync mail.borg.org PTY allocation request failed on channel 0 C-c C-croot@la:/etc/dovecot# …and on the remote end I see some debugging output I put in the remote script, outputting an empty username. Makes sense.
If I try to put that in this (incomplete) dsync command:
root@la:/etc/dovecot# doveadm sync -u kentborg -1 ssh -i /root/.ssh/id_rsa_rc.borg.org.dsync mail.borg.org Error: Extraneous arguments found: 3 5 doveadm(kentborg)<1029674><QvOnDPmKkmcqtg8AA8+vgQ>: Error: read(remote) failed: EOF (version not received) doveadm(kentborg)<1029674><QvOnDPmKkmcqtg8AA8+vgQ>: Error: Remote command returned error 64: ssh -i /root/.ssh/id_rsa_rc.borg.org.dsync mail.borg
.org dsync-server root@la:/etc/dovecot# And the remote end outputs the username as "VERSION dsync 3 5", okay, maybe progress.
But when I try to make the command more complete and send a username to the remote end, and now I am no longer talking to the remote end:
root@la:/etc/dovecot# doveadm sync -u kentborg -1 ssh -i /root/.ssh/id_rsa_rc.borg.org.dsync remoteprefix@mail.borg.org remoteprefix@mail.borg.org's password:
Suggestions?
Thanks,
-kb