.png)
Игнорируя проблемы безопасности, у меня есть следующий скрипт, который синхронизирует мою музыкальную библиотеку с моего MacBook Pro (на базе Snow Leopard) с файловым хранилищем (CentOS 4) в моей сети:
rsync -rav --progress --partial -e "ssh" ~/Music/iTunes/* user@scramasax:~/music/iTunes-scissor:~
Когда я пытаюсь использовать пароль, указанный в командной строке (), в файле паролей ( --password-file
) или в переменной среды RSYNC_PASSWORD
, вход в систему все равно становится интерактивным, требуя от меня повторного ввода пароля.
Я перейду на использование предварительных общих ключей в своей сети, но в ситуациях, когда это невозможно, например, при rsync
загрузке файлов на веб-сервер, возможность успешно встроить пароль в скрипт была бы очень полезна.
решение1
Обратите внимание, что эти разделы изman rsync
должен сказать о ssh
. Вероятно, вам придется настроить ключевые файлы.
--password-file
Эта опция позволяет указать пароль в файле для доступа к демону rsync. Файл не должен быть доступен для чтения всем. Он должен содержать только пароль в виде одной строки.
This option does not supply a password to a remote shell trans‐
port such as ssh; to learn how to do that, consult the remote
shell's documentation. When accessing an rsync daemon using a
remote shell as the transport, this option only comes into
effect after the remote shell finishes its authentication (i.e.
if you have also specified a password in the daemon's config
file).
RSYNC_PASSWORD
Установка RSYNC_PASSWORD на требуемый пароль позволяет вам запускать аутентифицированные rsync-подключения к rsync-демону без вмешательства пользователя. Обратите внимание, что это не предоставляет пароль для удаленного транспорта оболочки, такого как ssh; чтобы узнать, как это сделать, обратитесь к документации удаленной оболочки.