«Дверь № 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
Моя мотивация заключается в том, чтобы не вводить учетные данные несколько раз в одном и том же сценарии, не рискуя тем, что эти учетные данные сохранятся после завершения сценария. Ввод учетных данных не только громоздок, но и требует, чтобы я дождался завершения сценария, чтобы я мог вводить учетные данные, а не оставлять его для запуска самостоятельно (это долго выполняемый сценарий).