У меня вопрос, это стандартная практика, когда в файле закрытого ключа временно не указывается кодовая фраза для запуска неинтерактивного сценария [.. .]
Нет. Стандартная практика - использовать ключевой агент для хранения вашей парольной фразы. При использовании ключевого агента вы можете ввести свою парольную фразу один раз при добавлении ключа к агенту, и после этого агент предоставит ее инициируемым вами ssh-соединениям.
Есть много руководств по этому поводу. Вот вкратце базовое использование:
# start ssh key agent and set environment variables
eval $(ssh-agent)
# add your private key
ssh-add
Вкратце, как это работает:
Команда ssh-agent
выводит некоторые переменные среды, которые необходимо установить, чтобы программы (например, ssh
, scp
, rsync
и другие) находят процесс ssh-agent
. Этот вывод готов к выполнению, чтобы фактически установить переменные, и это цель оператора eval
.
ssh-add
находит процесс ssh-agent
благодаря настроенным переменным среды и добавляет закрытый ключ в местоположение по умолчанию в вашем каталоге ~ / .ssh
. На этом этапе вас попросят ввести кодовую фразу.
После этого вы сможете ssh
, scp
и другие на любой сервер, на котором ваш ключ авторизован, без повторного ввода ключевой фразы.