Я пишу сценарий, который позволит мне получить файл сразу со всех моих серверов. У меня есть ключи SSH для входа на мои серверы. Однако для моего SSH-ключа требуется пароль.
Сценарий, который я пишу, не будет автоматизирован, он будет запускаться только вручную. Итак, мой сценарий запрашивает у пользователя пароль ключа SSH.
Как я могу отправить пароль к ключу SSH, когда он подключается к каждому серверу. Я стараюсь не вводить свой пароль для каждого сервера.
Я знаю, что могу использовать «ожидать», но надеюсь, что есть простой способ сделать это. Может какая-то переменная окружения?
Спасибо.
Почему бы не использовать ssh-agent
для этого?
См. Дополнительную информацию на странице руководства. :)
Вот мои 2 цента!
Таким образом я могу:
Я бы использовал SSH-ключ, у которого нет пароля. Это может быть менее безопасно, но любой метод, позволяющий использовать его без присмотра, будет иметь такой же недостаток.
Самое простое решение - установить пакет sshpass
и используйте его как:
sshpass -p password ssh -i keyfile.pem user@server
Ожидание - это решение, которое приходит на ум первым ...
Проверьте этот пример сценария, так как он близок к тому, что вы ищете.