### Please describe the problem.
Syncing two standalones: amd64 and armel.

Sync works from armel to amd64.

Sync fails (missing git-upload-pack, git-receive-pack) from amd64 to armel.

### What steps will reproduce the problem?
git-annex sync :)

### What version of git-annex are you using? On what operating system?
git-annex version: 5.20131224-g6ca5271 on both

### Please provide any additional information below.

#### on server "rose" (amd64)

[[!format sh """
$ git-annex version
git-annex version: 5.20131224-g6ca5271
build flags: Assistant Webapp Pairing S3 WebDAV Inotify DBus XMPP Feeds Quvi TDFA
key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SHA256 SHA1 SHA512 SHA224 SHA384 WORM URL
remote types: git gcrypt S3 bup directory rsync web webdav glacier hook
local repository version: 3
default repository version: 3
supported repository versions: 3 5
upgrade supported from repository versions: 0 1 2 4

$ git-annex sync
(merging synced/git-annex into git-annex...)
commit  ok
pull synology   
ash: git-upload-pack: not found
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
failed
push synology 
ash: git-receive-pack: not found
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

  Pushing to synology failed.

  (non-fast-forward problems can be solved by setting receive.denyNonFastforwards to false in the remote\'s git config)
failed
git-annex: sync: 2 failed
$ cat .git/config
[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
[branch "master"]
[annex]
        uuid = c0e4106e-2631-11e2-9749-1bfa37a61069
        version = 3
[remote "synology"]
        url = greg@server:/volume1/photo/
        fetch = +refs/heads/*:refs/remotes/synology/*
        annex-ssh-options = "-i /home/greg/.ssh/annex.rose_rsa"
        annex-uuid = ca735977-973c-44bc-9257-915b2c875e39

greg@rose:~/.ssh$ cat authorized_keys
command="/home/greg/.ssh/git-annex-shell" ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDT1yE96E/JQNPt0ziiNYJRvndCvLK4uG5h/SNYoAIBF1uH6L7VYAt3HWVqSyi3BcV70WDZ/yWgtNzbrcir46JpvEHMcvYaXLbANwoDGNjG/gsz7kP/8VUxZ6hG3P3ICuwnqVum5+rYXm6oj3xzWPfTRhhRoDZLOQdevSNpdGNaa/lSg8Vuq2suHwjQlQb8AIUuCZmS5cm6XwoUq/jJtN4LTuTPqMjzA6NkdhWM2Kigi9jPQBFborkYBPMphmZwBZiVnhsH1XpaOff+mP03D2gF/huC+b1vbWQstjuehUbY59rvJ4ijbOW8Uq2ep7dwLagmILtX5GbL+GS64pAn9sIP annex-DiskStation

greg@rose:~/.ssh$ cat git-annex-shell   
#!/bin/sh  
set -e  
exec /home/greg/bin/git-annex.linux/runshell git-annex-shell -c "$SSH_ORIGINAL_COMMAND"

greg@rose:~/bin/git-annex.linux$ ls
bin          gconvdir   git-annex.MANIFEST  git-core          lib      LICENSE   README    templates
etc          git        git-annex-shell     git-receive-pack  lib64    linker    runshell  usr
favicon.png  git-annex  git-annex-webapp    git-upload-pack   libdirs  logo.svg  shimmed
"""]]

#### on "synology" (armel)

[[!format sh """
/volume1/downloads/git-annex.linux $ ./runshell
$ git-annex version
git-annex version: 5.20131224-g6ca5271
build flags: Assistant Webapp Pairing Testsuite S3 WebDAV Inotify DBus XMPP DNS Feeds Quvi TDFA CryptoHash
key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL
remote types: git gcrypt S3 bup directory rsync web webdav glacier hook
local repository version: 5
default repository version: 3
supported repository versions: 3 5
upgrade supported from repository versions: 0 1 2 4

$ which git-receive-pack
/volume1/downloads/git-annex.linux/bin/git-receive-pack

$ which git-upload-pack
/volume1/downloads/git-annex.linux/bin/git-upload-pack

$ git-annex sync
commit  (Recording state in git...)
ok
pull rose 
From server:/home/greg/Media/Pictures/Photos
   d761e6e..4454a51  git-annex  -> rose/git-annex
   c4f0719..a4c73e4  master     -> rose/master
ok
push rose 
Counting objects: 134, done.
Compressing objects: 100% (58/58), done.
Writing objects: 100% (58/58), 4.81 KiB | 0 bytes/s, done.
Total 58 (delta 38), reused 0 (delta 0)
warning: There are too many unreachable loose objects; run 'git prune' to remove them.
To greg@server:/home/greg/Media/Pictures/Photos
   4454a51..812c393  git-annex -> synced/git-annex
ok

$ cat .git/config
[core]
        repositoryformatversion = 0
        filemode = true
        bare = true
        logallrefupdates = true
[branch "master"]
[annex]
        uuid = ca735977-973c-44bc-9257-915b2c875e39
        version = 5
        direct = true
[remote "rose"]
        url = greg@server:/home/greg/Media/Pictures/Photos
        fetch = +refs/heads/*:refs/remotes/rose/*
        annex-ssh-options = "-i /var/services/homes/greg/.ssh/annex_rsa"
        annex-trustlevel = trusted
        annex-uuid = c0e4106e-2631-11e2-9749-1bfa37a61069

$ cat /volume1/homes/greg/.ssh/authorized_keys
...partial...
command="/var/services/homes/greg/.ssh/git-annex-shell" ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCYvOZK2rO+3cF1wxxxrXptZ/QbRaOy36p9RtFmE5MKxgBRJ7n/8nMfBGaj3KDXcdJG+dTUsmLY5VeULuM4omtfJrF2MFYZDw2N0Qgq1bnYZ+q4OlpHfI3h77dAxyvM1MXYJvewXsjh8XoQJYqE8Pj4C05YsAJrqQJqqQqVZceD4TPvbKgnQhQIE2mCVXfItucJv0TOOBmKguOQGUB4Jp00IvFsnxpCLDeLFIODjRpXQqcMX9cZ9/6OYLznTck/MdbA5KTev1gVwiGwtYFGqY/DJ7q6zqfE+UU2aKS/M0r0Qjvr2+Q4+CuzVYc+hPURC8phmdP+HjtFcVsEcpsl6p79 annex-rose

/volume1/homes/greg/.ssh $ cd /volume1/homes/greg/.ssh/
/volume1/homes/greg/.ssh
/volume1/homes/greg/.ssh $ ls        
annex_rsa        authorized_keys  id_rsa           known_hosts
annex_rsa.pub    git-annex-shell  id_rsa.pub
/volume1/homes/greg/.ssh $ cd /var/services/homes/greg/.ssh/
/volume1/homes/greg/.ssh $ pwd
/var/services/homes/greg/.ssh

/volume1/homes/greg/.ssh $ cat git-annex-shell 
#!/bin/sh
set -e
exec /volume1/downloads/git-annex.linux/runshell git-annex-shell -c "$SSH_ORIGINAL_COMMAND"

/volume1/downloads/git-annex.linux $ ls
LICENSE             git-annex-shell     linker
README              git-annex-webapp    logo.svg
bin                 git-annex.MANIFEST  runshell
etc                 git-core            shimmed
favicon.png         git-receive-pack    templates
gconvdir            git-upload-pack     usr
git                 lib
git-annex           libdirs
"""]]





### After some debugging with Joey...
12:24 <     joeyh> git does not use annex-ssh-options
12:24 <     joeyh> the way the assistant sets this up is it makes up a new hostname, and in .ssh/config, makes that hostname use the real domain name, and the key
12:25 <     joeyh> there's clearly a bug here.. the assistant only does that when there is no passwordless ssh key already set up. But in this wacky way of installing git and git-annex on a server, it needs to always do it
12:26 <     joeyh> probably the assistant should probe if ssh server git-receive-pack works, and if not, always set up its special config
12:26 <     joeyh> alternatively, the standalone tarball could have an actual installation step, rather than just being unpacked

Based on that I added (on the amd64/rose machine):
[[!format sh """
greg@rose:~/.ssh$ cat config
Host synology
    HostName yep.org #obviously redacted
    IdentityFile /home/greg/.ssh/annex.rose_rsa

$ git remote show -n synology
* remote synology
  Fetch URL: greg@synology:/volume1/photo/
  Push  URL: greg@synology:/volume1/photo/
  HEAD branch: (not queried)
  Local ref configured for 'git push' (status not queried):
    (matching) pushes to (matching)
"""]]

Now, to do a simple test with git:

[[!format sh """
$ git remote show synology
git-annex-shell: git-shell failed
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
"""]]

> [[done]]; `git push` and `git pull` don't use annex-ssh-options,
> and so that's not a good way to configure the dedicated key. 
> Instead, set it up like the assistant does, with a dummy hostname in the
> url that is configured in .ssh/config to use the real domain and the
> dedicated key. --[[Joey]]
