«Дверь № 3» не была вариантом;) Это вики сообщества, поэтому не стесняйтесь предоставлять более подробную информацию.

от вопрос уже есть ответ здесь:

Установите и используйте SSH ControlMaster Session в сценарии оболочки 1 ответ

Представьте, что у меня есть скрипт bash, который выполняет команды на удаленной машине через ssh:

# Do something here
ssh otheruser@host command1
# Do something else
ssh otheruser@host command2
# Do most local tasks

Этот скрипт предлагает мне ввести учетные данные для otheruser @ host несколько раз. Существует ли безопасный, простой и общепринятый способ кэширования этих учетных данных на весь срок действия сценария, но гарантируется, что они будут потеряны после завершения сценария (как обычно, так и при возникновении ошибки)? Может быть, решение будет использовать ssh-agent?

Я ищу что-то вроде этого:

special_credential_saving_command_here # This will prompt for credentials
ssh otheruser@host command1 # This will not prompt now
ssh otheruser@host command2 # This will not prompt either

Моя мотивация заключается в том, чтобы не вводить учетные данные несколько раз в одном и том же сценарии, не рискуя тем, что эти учетные данные сохранятся после завершения сценария. Ввод учетных данных не только громоздок, но и требует, чтобы я дождался завершения сценария, чтобы я мог вводить учетные данные, а не оставлять его для запуска самостоятельно (это долго выполняемый сценарий).

Ответы на вопрос(1)

Ваш ответ на вопрос