4

I want to automatically download files and folders from a Linux server to which I have an SSH (and FTP) account. The files shall be downloaded on a regular basis (I suppose a cron is the right tool to do so) onto an OS X machine.

I tried the following rsync command, which works fine:

rsync -avzbe ssh account@server.tld:/www/htdocs/something/somefolder /Users/me/folder/foo/

However I have to enter the account's password every time (the SSH account on the server machine). The server is a managed one and I'm afraid I can't change the password.

Here are my questions:

  • How do I bypass the entering of the password by storing it somewhere
  • How do I automate this then correctly?
1
  1. Run ssh-keygen and accept the defaults in every step
  2. cat ~/.ssh/id_rsa.pub | ssh username@host.com "mkdir -p ~/.ssh/; cat >> ~/.ssh/authorized_keys; chmod 700 ~/.ssh/; chmod 600 ~/.ssh/authorized_keys"
  3. Edit the crontab with crontab -e and add a line like 20 4,16 * * * rsync -a someuser@somehost.com:somedir/subdir ~/somedir
1

You have 2 options,

3
  • The second one looks promising, I will give it a try. Thanks.
    – Martin
    Oct 24 '11 at 10:10
  • I'd strongly recommend the first option; having passwords sitting around in plaintext is always a bad idea. There's somewhat less security exposure if someone steals an SSH private key. Oct 24 '11 at 16:28
  • Agreed. There are some real world weird touchy clients who don't allow other companies to edit even one file in their servers though.. I've suggested that as an alternative as I interpreted Martin has his hands tied considering any change in the remote host: "The server is a managed one and I'm afraid I can't change the password ...How do I bypass the entering of the password by storing it somewhere" Nov 3 '11 at 11:44

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.