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

rsync со скриптом, предоставленным паролем

Мне нужно, чтобы сценарий периодически загружал файлы rsync с удаленного хоста через ssh. У учетной записи, под которой запускается сценарий, нет домашнего каталога на удаленном хосте, поэтому я не могу хранить свой открытый ключ на удаленном хосте. Я счастлив сохранить свой пароль в файле на моем локальном хосте, но мне не удается заставить rsync использовать пароль.

В --password-file Параметр - это только вариант для подключения к демону rsync, а запрос пароля не считывается из стандартного ввода.

Ищите программу sshpass в вашем раздаче. Как только вы его получите, вы сможете:

rsync –e 'sshpass -f passwordfile ssh -l user' host:path

или, поместив все в один файл:

rsync –e 'sshpass -d 300 ssh -l user' host:path 300<<<'password'

Возможно, вы захотите изменить AuthorizedKeysFile опция в удаленном сервере sshd_config, если это возможно, вы можете настроить там свой открытый ключ без домашнего каталога. В этом случае это будет что-то вроде /home/%u/.ssh/authorized_keys, чтобы минимизировать потенциальные конфликты с другими пользователями в системе.

Вы смотрели на использование ожидать?