
Beim Anmelden bei meinem Cloud-Server erhalte ich diese Meldung:
WARNING: Your password has expired.
You must change your password now and login again!
Changing password for user.
(current) UNIX password:
Ich muss den Vorgang der Eingabe des aktuellen Passworts und der anschließenden Eingabe des neuen Passworts automatisieren.
Allerdings erhalte ich jedes Mal, wenn ich versuche, einen Befehl auszuführen, die Fehlermeldung WARNING: Your password has expired.\nPassword change required but no TTY available.
(Ich verbinde mich über SSH mit einer Node.js-App).
Wie kann ich dieses Problem umgehen? Gibt es eine Möglichkeit, einen Befehl auszuführen, ohne diesen Fehler zu erhalten, damit ich das Passwort ändern kann?
Antwort1
Mit dem Schalter können Sie ssh
die Zuweisung eines TTY erzwingen -t
. Dann ist es möglicherweise möglich, einfach das alte und das neue Passwort weiterzuleiten. Sie müssen den Wert verdoppeln, -t
um die Zuweisung eines TTY zu erzwingen, auch wenn der Standard-DIN des SSH-Clients kein Terminal ist:
echo -en 'oldpw\nnewpw\nnewpw\n' | ssh -tt somehost true