Повторение пароля во время rsync-ing файлов?

Я использую скрипт для загрузки файлов в два этапа:

  1. Во-первых, я загружаю файл, содержащий список файлов с сервера, на мою главную машину, используя rsync .
  2. Затем я использую rsync для загрузки фактических файлов (довольно много), указанных в списке с сервера на мой компьютер.

Проблема в том, что скрипт запрашивает пароль регулярно, то есть он продолжает запрашивать пароль моей учетной записи на сервере. Файлы загружаются без каких-либо проблем, поэтому я предполагаю, что цикл for вызывает проблему, поскольку он запрашивает пароль при загрузке каждого отдельного файла в списке с сервера.

Если я прав, то какое может быть возможным решением, чтобы скрипт запрашивал пароль только один раз? если я ошибаюсь, то, пожалуйста, поправьте меня.

ПРИМЕЧАНИЕ: BTW, аутентификация на основе ключей не допускается.

 #!/bin/bash rsync --partial -z --remove-source-files server:~/list ~/. for i in $(cat ~/list) do rsync --partial -z server:/some/location/$i ~/someplace/$i done 

Твоя теория звучит правильно для меня. Каждый раз, используя цикл for, когда вы вызываете rsync , он повторно подключается к серверу и вызывает повторное приглашение.

Вместо того, чтобы прокручивать файл, ~/list using for вас может предоставить этот список непосредственно rsync используя --files-from= .

пример

 $ rsync --partial -z --files-from=/some/list server:/some/location/ ~/someplace/