Как написать сценарий оболочки для передачи парольной фразы закрытого ключа ssh-add?

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

cd ~/.ssh/ && ssh-add -D && ssh-add <id_rsa_filename>

Он пытается добавить закрытый ключ к агенту ssh.

Когда эта команда (команды) завершает выполнение и если для закрытого ключа ssh требуется парольная фраза, вы получаете этот вывод от агента ssh — «Введите парольную фразу:»

Я бы хотел знать,

  1. Если можно передать парольную фразу в качестве аргумента при запуске ssh-add, например: ssh-add -pass <my_pass_phrase>
  2. Как я могу изменить свой сценарий для взаимодействия с ssh-агентом, чтобы передать парольную фразу при появлении запроса.

Важно: я не хочу удалять парольную фразу, связанную с закрытым ключом ssh.


person user673508    schedule 07.02.2020    source источник
comment
Отвечает ли это на ваш вопрос? Как заставить ssh-add читать парольную фразу из файла?   -  person phd    schedule 08.02.2020
comment
Если ваш дистрибутив не исправил их, ssh и ssh-add читаются только с TTY.   -  person bk2204    schedule 08.02.2020
comment
@ bk2204 Решение с использованием expect также показано в связанном ответе.   -  person phd    schedule 08.02.2020