Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I need to execute rsync, without it prompting me for password.

I've seen in rsync manpage that it doesn't allow specifying the password as command line argument.
But I noticed that it allows specifying the password via the variable RSYNC_PASSWORD.

So I've tried exporting the variable, but rsync keeps asking me for password.

export RSYNC_PASSWORD="abcdef"
rsync root@1.2.3.4:/abc /def

What am I doing wrong?

Please consider:

In other words, I need to have the RSYNC_PASSWORD approach working! :-)

share|improve this question
    
have you enable rsync daemon on remote server ? –  Rahul Patil Jan 29 at 19:41

2 Answers 2

up vote 3 down vote accepted

This password environment variable appears only to be used when using the rsync protocol:

rsync rsync://username@1.2.3.4:/abc /def

For this to work, you need to run rsync as a daemon as well (--daemon option), which is often done using inetd.conf.

When using this protocol, abc should correspond to a target defined in /etc/rsyncd.conf. The user name should be present in a auth users line for this target, and a password file should be specified with the secrets file option.

It is this secrets file that contains mappings between user names and passwords in the following format:

username:password

And it is this password that you can specify using the RSYNC_PASSWORD environment variable.

share|improve this answer

If the rsync daemon isn't running on the target machine, you can use sshpass:

sshpass -p "abcdef" rsync root@1.2.3.4:/abc /def
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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