Это не сработало для меня. У меня есть прыжковый хостинг в моем ~ / .ssh / config
Host 10.x.y.z
User cloud-user
HostName vm-pivot
IdentityFile /path_to_vm_key
Host 21ct-dev1-*
User cloud-user
HostName %h.example.com
ProxyCommand ssh 10.x.y.z -W %h:%p
IdentityFile /path_to_vm_key
rsync -e "ssh" local_path vm-app01:/remote_path
ssh: не удалось разрешить имя хоста vm-app01 : указано имя узла или имя сервера или неизвестно rsync: соединение неожиданно закрыто (получено 0 байтов) [отправитель] ошибка rsync: необъяснимая ошибка (код 255) в / SourceCache / rsync / rsync- 42 / rsync / io.c (452) [отправитель = 2.6.9]
Тем не менее, это работает просто отлично
[kbroughton@kbroughton:project + (develop)] ssh vm-app01
Last login: Thu Apr 17 12:10:37 2014 from 10.a.b.c
Отредактируйте, я смог преодолеть разрешение имен, заставив rsync ssh загрузить файл конфигурации с -F sudo rsync -az -e "ssh -F /Users/kbroughton/.ssh/config"
Это проходит одну ошибку, но на другую. В доступе отказано (publickey, gssapi-keyex, gssapi-with-mic). ssh_exchange_identification: соединение закрыто удаленным хостом
Также попытался явно установить -i и user @ в соединении, но возникает та же ошибка.
РЕДАКТИРОВАТЬ
Еще одна точка данных. Если я использую плавающий ip pivot vm (хост перехода) вместо его имени, vm-pivot работает rsync. Но явный сброс всех моих ssh / config в -e "ssh" не работает. Подробности: локальный mac, обновлен до rsync 3.1.0, удаленный centos rsync 3.0.9.
[kbroughton@kbroughton:project + (develop)] sudo /usr/local/bin/rsync -az -e "ssh -F /Users/kbroughton/.ssh/config -i /Users/kbroughton/.ssh/identities/vm_key -W 10.x.y.z:22" /var/data/sources/data.tar.gz user@vm-pivot:/home/user
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
ssh_exchange_identification: Connection closed by remote host
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.0]
[kbroughton@kbroughton:project + (develop)] sudo /usr/local/bin/rsync -az -e "ssh -F /Users/kbroughton/.ssh/config -i /Users/kbroughton/.ssh/identities/vm_key -W 10.x.y.z:22" /var/data/sources/data.tar.gz user@10.x.y.z:/home/user
protocol version mismatch -- is your shell clean?
(see the rsync man page for an explanation)
rsync error: protocol incompatibility (code 2) at compat.c(181) [sender=3.1.0]
Это работает
[kbroughton@kbroughton:project + (develop)] sudo /usr/local/bin/rsync -az -e "ssh -F /Users/kbroughton/.ssh/config -i /Users/kbroughton/.ssh/identities/vm_key" /var/data/sources/data.tar.gz user@10.x.y.z:/home/user