無需任何交互即可更改密碼,但無法無錯誤地執行命令

無需任何交互即可更改密碼,但無法無錯誤地執行命令

當登入我的雲端伺服器時,我收到以下訊息:

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然後,可能只需將舊密碼和新密碼透過管道輸入即可。

echo -en 'oldpw\nnewpw\nnewpw\n' | ssh -tt somehost true

相關內容