Назад | Перейти на главную страницу

rsync с удаленного ssh-сервера с перенаправленными ключами

Контекст

Я пишу сценарий синхронизации для синхронизации некоторых веб-сред.

Пример: обновление интеграции из производственной среды (в основном для получения новых строк базы данных и загруженных файлов)

Некоторые из моих предварительных условий:

Вопрос

Я хочу, чтобы разработчики подключились к интеграции с ssh -A чтобы позволить скрипту подключиться к производственному серверу с их ключом:

+-------------+    SSH     +-------------+   rsync   +-------------+
| Developer   | ---------> | Integration | --------> |  Production |
|  computer   |            |   Platform  | <-------- |   platform  |
+-------------+            +-------------+           +-------------+
(priv DSA key)              (pub DSA key)             (pub DSA key)

Он отлично работает для ssh или scp, но я не могу заставить rsync использовать перенаправленные ключи для подключения к производственному серверу.

Я видел похожие вопросы но если rsync запускается с компьютера пользователя, и поэтому на файл ключа ssh может указывать -i вариант.

Меня беспокоит ни одна из парольных фраз, так как этот скрипт будет запускаться реальными пользователями (не cron)

Я попытался указать удаленную оболочку для rsync следующим образом:

rsync -e "ssh -A" user@production

Но безуспешно.

Хорошо, моя проблема заключалась в том, что я "SSHing" на нестандартном порту, и я пытался сообщить rsync через --port= вариант.

я использовал rsync -e "ssh -p 1337" user@host:somepath/ . вместо этого, и он отлично работает из коробки.