title: Using rsync to remote SSH user with no shell access
body: <p>I set up Jenkins CI to deploy my PHP app to our QA Apache server and I ran into an issuse. I successfully set up the pubkey authentication from the local jenkins account to the remote apache account, but when I use <code>rsync</code>, I get the following error:</p>
  
  <pre><code>[jenkins@build ~]# rsync -avz -e ssh test.txt apache@site.example.com:/path/to/site
  protocol version mismatch -- is your shell clean?
  (see the rsync man page for an explanation)
  rsync error: protocol incompatibility (code 2) at compat.c(64) [sender=2.6.8]
  [jenkins@build ~]# 
  </code></pre>
  
  <p>One potential problem is that the remote <code>apache</code> account doesn't have a valid shell account, should I create a remote account with shell access and part of the <code>"apache"</code> group? It is not an SSH key problem, since <code>ssh apache@site.example.com</code> connects successfully, but quickly kicks me out since <code>apache</code> doesn't have a shell.</p>