Сейчас я использую rsync с -e 'ssh -p 10022'
возможностью указать порт.
Я уже установил SSH ~/.ssh/config
.
Host myvps
HostName example.com
User ironsand
Port 10022
Могу ли я легко использовать этот конфиг из rsync? Или я могу создать ~/.rsync
и установить порт по умолчанию для указанного сервера?
Это не сработало для меня. У меня есть прыжковый хостинг в моем ~ / .ssh / config
ssh: не удалось разрешить имя хоста vm-app01 : указано имя узла или имя сервера или неизвестно rsync: соединение неожиданно закрыто (получено 0 байтов) [отправитель] ошибка rsync: необъяснимая ошибка (код 255) в / SourceCache / rsync / rsync- 42 / rsync / io.c (452) [отправитель = 2.6.9]
Тем не менее, это работает просто отлично
Отредактируйте, я смог преодолеть разрешение имен, заставив 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.
Это работает
источник
@darKoram. Для случаев, когда вы вызываете ssh с нестандартным путем и попробуйте использовать ssh в ProxyCommand, это проблема, потому что нет наследования. У вас есть два варианта: напрямую предоставить один и тот же файл во внутренней команде или динамически взломать его. Вы можете посмотреть подробное описание в моем блоге об этом: http://hubbitus.info/wiki/Blog:Ssh_forwarding_with_same_config_file_hack
Кратко в вашей ситуации должна помочь конфигурация типа:
источник
@darKoram. Запустите процесс SSH с помощью sudo:
sudo / usr / local / bin / rsync -az -e "sudo -u user ssh" /var/data/sources/data.tar.gz vm-app01: / home / user
источник
@darKoram
Какое полное DNS-имя "vm-app01"? Он должен быть публичным, так как вы утверждаете, что можете достичь его внутри ssh без rsync. Но вы ожидаете, что ssh перехватит ваш хост по шаблону "21ct-dev1- *". Я действительно не вижу, как это может работать каким-либо образом. Если вы попытаетесь создать шаблон имени хоста, он должен выглядеть примерно так:
Тогда вызов rsync должен выглядеть примерно так:
Как разрешается "vm-app01"? Файл хостов, выигрывает, NIS, NSS? У вас есть псевдоним? Вы в домене? Это, безусловно, выглядит как «простая» проблема DNS.
источник