Как использовать файл идентификации с rsync?
Это синтаксис, который, я думаю, мне следует использовать с rsync для использования файла идентификации для подключения:
rsync -avz -e 'ssh -p1234 -i ~ / .ssh / 1234-identity' \ "/ локальный / каталог /" remoteUser@22.33.44.55: "/ удаленный / каталог /"
Но это дает мне ошибку:
Предупреждение: файл идентификации ~ / .ssh / 1234-identity недоступен: нет такого файла или каталога.
Файл в порядке, разрешения установлены правильно, он работает при использовании ssh - только не с rsync - по крайней мере, в моем синтаксисе. Что я делаю не так? Он пытается найти идентификационный файл на удаленном компьютере? Если да, как мне указать, что я хочу использовать файл идентификации на моем локальном компьютере?
User ubuntu
при настройке для экземпляра EC2 Ubuntu :) Спасибо!fish
), то сделайте этоeval (ssh-agent -c)
Используйте либо
$HOME
или полный путь к ключу:
Протестировано с помощью rsync 3.0.9 в Ubuntu
источник
$HOME
не будет работать внутри простых кавычек (без расширения переменных), поэтому вы должны использовать либо двойные кавычки, либо абсолютный путь."$HOME"
или$HOME
без разницы (тоже"${HOME}"
возможно, если вы хотите усложнить)Вы должны указать абсолютный путь к вашему файлу идентификационного ключа. Это наверное какая-то причуда в rsync. (в конце концов, это не может быть идеально)
Я столкнулся с этой проблемой всего несколько дней назад :-)
источник
Это работает для меня
источник
/home/user/.ssh/1234-identity
. Тогда это сработало. Возможно, потому что это другая оболочка, как предлагается в ответе Дархуука.Вы выполняете команду в bash или sh? Это может иметь значение. Попробуйте заменить
~
на$HOME
. Попробуйте заключить строку в двойные кавычки для-e
параметра.источник
использовать ключевой файл с rsync:
источник