
При входе на мой облачный сервер я получаю следующее сообщение:
WARNING: Your password has expired.
You must change your password now and login again!
Changing password for user.
(current) UNIX password:
Мне нужно автоматизировать процесс ввода текущего пароля, а затем ввода нового пароля.
Однако каждый раз, когда я пытаюсь выполнить команду, я получаю сообщение об ошибке WARNING: Your password has expired.\nPassword change required but no TTY available.
(я подключаюсь через SSH к приложению Node.js)
Как обойти эту проблему? Можно ли как-то запустить команду без получения этой ошибки, чтобы я мог сменить пароль?
решение1
Вы можете принудительно ssh
выделить tty с помощью -t
switch. Тогда, возможно, будет возможно просто передать старый и новый пароли по конвейеру. Вам нужно удвоить , -t
чтобы принудительно выделить tty, даже если stdin клиента ssh не является терминалом:
echo -en 'oldpw\nnewpw\nnewpw\n' | ssh -tt somehost true