I'm a little confused on how to run unison to sync files with group and owner attributes on an ubuntu system, as you need to be root. But I need to do this remotely and automated. I know I can set up ssh keys and the such for my user but that doesn't matter because I still wont be able to ssh as root to do the changes on the remote system.

I guess my question is; How would I go about using root on the remote system for unison? or is there a way of setting a command for a user to 'auto-run' as root without password?

Or are there any other ways that I could do this?

Any guidance with this is appreciated.

2 Answers 2


You should be able to setup ssh login with keys as you have stated.

Make sure your sshd_config allows root logins

PermitRootLogin without-password

Then copy the generated public-key to /root/.ssh/authorized_keys.

You should be able to login now, just tell unison to use the ssh key you generated.

  • With this would I have to enable root account?
    – Elgoog
    Dec 18, 2011 at 0:46
  • 1
    Yes, you should have an enabled and working root account. The options for 'PermitRootLogin' are 'no', 'yes', and 'without-password'. The last one allowing only logins using ssh-keys.
    – Sig-IO
    Dec 18, 2011 at 0:51
  • works like a charm, I never knew about the without-password so thank you!
    – Elgoog
    Dec 18, 2011 at 1:01

Sudo can be configured to avoid asking for a password on some or all commands with the NOPASSWD parameter; but in any case I think it would be simpler to use ssh keys to access the remote system directly as root; after setting up passwordless authentication, unison should be called as follows:

unison a.tmp ssh://username@remotehostname/a.tmp

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.