Following steps would help you to do scp, ssh & rsync without prompting for password:
1. On Host A where you run scp/ssh/rsync command, run the following command:
$ ssh-keygen -t rsa
This will prompt a passphrase. After pressing enter key it’ll generate a private and a public key. Public key is saved at ~/.ssh/ by default.
2. Transfer id_rsa.pub file to Host B using scp or ftp.
3. On Host B, login as remote user and copy the contents of id_rsa.pub to ~/.ssh/authorized_keys using the following command:
$ cat id_rsa.pub >>~/.ssh/authorized_keys $ chmod 700 ~/.ssh/authorized_keys
4. Thats’ all, Now you can run scp, ssh and rsync command without prompting for password.
5. Note that ssh by default does not allow root to log in. This has to be explicitly enabled on Host B. This can be done by editing /etc/ssh/sshd_config and changing the option of PermitRootLoginfrom no to yes. Don’t forget to restart sshd so that it reads the modified config file. Do this only if you want to use the root login.