2016-04-17

Using Adrive with rsync and SSH keys

Jump directly to solution (lower on this page).

 

My experience setting up an Adrive account to use rsync with SSH keys 


When copy.com announced that they would no longer offer a hosting service that would allow me to make large files publicly available, I looked around for other choices. Eventually, I chose Adrive, partly because they had a good price for the amount of storage I am likely to need for this purpose, and partly because they claim that one can use their storage using ssh-based tools (in particular, rsync), which would make management easy. (I note in passing that for online storage and management of private information, I use and recommend rsync.net.)

On the Adrive login page, it says:
SCP, SFTP and Rsync
Access all your files from anywhere using SCP, SFTP and Rsync including server-side SSH key management.
which certainly sounds promising.

The instructions for using rsync are simple:
  rsync files_to_upload username@rsync.adrive.com:. 
Wonderful, except that that doesn't work. Worse, any attempt to use rsync causes a request for a password to be displayed, despite the site's mention of support for "server-side SSH key management". I tried to deal with the ssh problem first.

They provide apparently detailed instructions as to how to generate a key for use with Adrive and how to upload the key so that it will be used.

The trouble is, the instructions don't result in keys that are used; trying to use rsync still prompts the user for the password.

Having discovered all this, I entered the world of Adrive non-support. The support page tells Premium users:
Please browse through our FAQ to see if your question or problem has already been addressed. 
Well, it didn't take more than a few moments to see that any question of a technical nature is noticeably absent from the FAQ.

The support page continues:
Search the ADrive Forum to find answers within our community, or to post a new question, technical support issue, or concern.
It turns out that there is a forum dedicated to SCP, SFTP and Rsync issues. Of course, actually posting to the forum, even though one is a Premium customer with an Adrive username and password, is, as one is beginning to expect with this company, not as simple as it should be: one has to register anew to obtain permission to post to the form.

Having accomplished reregistration, I posted my ssh question, and waited for a response. And waited. And waited. After three weeks without any reply, I decided that enough was enough, and it was time to file an official support ticket. I did this via the Adrive web form.

Very soon, I received an acknowledgement via e-mail:
Thank you for submitting your support issue to ADrive. Our Support Team has received your submission. We are reviewing your question and will work to resolve it as soon as possible. If you have not already done so, please browse through our FAQ <http://www.adrive.com/info/faq> and our Forum <http://www.adrive.com/forum> to see if your question or issue has already been addressed.
Unfortunately, I received no actual useful response in the days that followed.

After a few days,. I tried again, resubmitting the issue. I received the same acknowledgement, and, as before, no reponse that actually addressed the issue.

I then tried directly e-mailing support@adrive.com. That produced no response at all.

At that point, I finally was forced to the conclusion that Adrive "support" does not actually exist in any meaningful manner, even for paying customers. The claims of support on the web site, are, it seems from my experience, intended to make the unwary believe that there is a professional support team available, when it appears that in fact any message sent to Adrive support merely ends up in /dev/null.

So at that point I decided to spend the time to resolve the issue myself (although, of course, a genuine support team could have given me the solution more or less instantly).


Forcing Adrive to use an SSH key


The solution, or at least the solution that worked here, isn't hard, but it is rather obscure.

After creating a key pair and uploading the public key, create a file called ~/.ssh/config, and insert the following lines:

  Host rsync.adrive.com
    IdentityFile <path to key>


That should force rsync to use the correct key.

The correct form of the rsync command 


There remained two problems on my system: firstly, every time I tried to use rsync, I would receive the message:
X11 forwarding request failed on channel 0
and, secondly, the command
  rsync files_to_upload username@rsync.adrive.com:.
didn't actually transfer anything (hardly surprising, since files_to_upload can't possibly mean what it says).

These problems can both be solved by using the following form of the rsync command:
rsync -rvt --delete -e "ssh -x" <directory-to-upload>/ "username@rsync.adrive.com:."
where username is replaced with your Adrive username, including the commat symbol. The ssh -x portion removes the error message about X11. The rest of the command causes rsync recursively to transfer the files in <directory-to-upload> to Adrive. The --delete option causes files that have been removed locally also to be removed on Adrive. (Using -rqt instead of -rvt will cause rsync to operate silently, which may be more useful than -rqt when the command is used in scripts).