3

Я сделал сценарий резервного копирования оболочки, который использует Rsync, и я пытаюсь избавиться от запроса пароля, потому что он будет использовать CRON для запуска. Я установил мою переменную в моем сценарии оболочки:

PASSWORD_FILE=rsync_password

и пароль в этом файле занимает всего 1 строку.

Однако, когда я бегу (игнорируйте $DESTINATION)

rsync -aRvz tmp $DESTINATION --password-file=$PASSWORD_FILE

Это все еще дает мне подсказку. Как я могу сделать это? Я не могу разрешить подсказку, и я не хочу использовать ключи.

Спасибо

1 ответ1

2

--password-file устанавливает пароль, только если вы используете демон rsync. Это не имеет никакого эффекта при использовании rsync поверх rsh или ssh.

Рекомендуемый метод аутентификации по ssh - использовать открытые ключи. Это и безопасный метод, и простой метод. Сгенерируйте закрытый ключ на стороне клиента (ssh-keygen) и запустите ssh-copy-id чтобы скопировать его на сервер.

Если есть чрезвычайно веская причина, по которой вы не используете ssh-ключи (подсказка: вероятно, нет), вы можете использовать функцию ожидающего, чтобы вставить пароль SSH в поток. Это не должно быть легко сделать, на самом деле SSH разработан, чтобы сделать это трудно, по уважительной причине (пароли вредны для безопасности, и то, как вы используете этот пароль, делает его особенно уязвимым).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .