В общем, большинство системных администраторов настроили бы все так, чтобы их автоматизация не зависела от паролей.
SSH
Для аутентификации SSH проще всего создать пару ключей, в которой закрытый ключ не защищен паролем.
Если вам нужна фраза-пароль для закрытого ключа SSH, добавление этого ключа/фразы-пароля в ssh-agent (или цепочку ключей Mac OSX) является разовым действием, после которого вам больше не нужно будет запрашивать фразу-пароль.
Если это не вариант, используйте sshpass
в ваших скриптах/командах используйте пароль/кодовую фразу из командной строки
На сервере
Опять же, самое простое / обычное решение - не вводить пароль.
Ваши возможности для этого зависят от уровня контроля, который у вас есть.
настройте политику sudo NOPASSWD (в идеале только для соответствующих команд), которая позволит вам выполнить sudo какая-то команда --с аргументами
или же судо -я
для интерактивного сеанса входа без ввода парольной фразы.
настроить учетную запись root для прямого удаленного входа в систему ssh (не лучшее решение, но когда вы не разрешаете аутентификацию по паролю, только аутентификацию на основе ключа...)
в зависимости от настройки просто добавьте свою учетную запись в группу «sudo», «wheel» или «admin», и вы получите полные права администратора.
Если вы действительно хотите ввести пароль, ожидать
это утилита для автоматизации этого