2016-06-15 7 views
1

Как предотвратить предупреждение rsync, чтобы попросить пароль для входа в систему удаленного сервера?Предотвращение попыток rsync запрашивать пароль

Примечание: Я не спрашиваю, как настроить открытый SSH с открытым ключом. I знаю как настроить открытый SSH аутентифицированный ключ. Я спрашиваю, как предотвратить rsync от попытки запросить пароль, если аутентификация с открытым ключом не удалась, как то, что scp-B. Я использую rsync в сценарии здесь, поэтому, если он пытается запросить пароль, мой скрипт будет висеть, ожидая ввода, который никогда не придет. Я хочу, чтобы команда rsync вместо этого вышла из строя, поэтому мой скрипт может обнаружить сбой и выйти изящно.

ответ

2

Просто передать параметры базовой ssh команды, используемой rsync:

rsync -e 'ssh -oBatchMode=yes [other ssh options]' [rest of rsync command] 

Из rsync руководства:

-e, --rsh=COMMAND   specify the remote shell to use 

Из ssh руководства:

BatchMode 

If set to “yes”, passphrase/password querying will be disabled. 
This option is useful in scripts and other batch jobs where no 
user is present to supply the password. The argument must be 
“yes” or “no”. The default is “no”. 

Это эмулирует bahavior os scp -B.