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

контекст

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

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

Некоторые из моих предпосылок:

  • Разработчики будут использовать этот скрипт с сервера интеграции
  • Ключи DSA необходимы для подключения к производственному серверу
  • Сервер интеграции не может хранить личные ключи девелопера

Вопрос

Я хочу, чтобы разработчики подключились к интеграции с 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

Но без удачи.

1 ответ

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

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

Другие вопросы по тегам