私のクラウドサーバーにログインすると、次のメッセージが表示されます。
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.
(Node.jsアプリケーションはSSH経由で接続しています)。
この問題をどのように解決できますか?とにかく、エラーなしでコマンドを実行してパスワードを変更できますか?
答え1
ssh
スイッチを使用してtty割り当てを強制できます-t
。その場合は、古いパスワードと新しいパスワードを関連付ける問題かもしれません。-t
SSHクライアントの標準入力が端末でない場合でも、tty割り当てを2倍に強制する必要があります。
echo -en 'oldpw\nnewpw\nnewpw\n' | ssh -tt somehost true