我的帐户从 1 台复制到大量主机。在第一次登录的每台主机上,我得到:
WARNING: Your password has expired.
You must change your password now and login again!
Changing password for user dmitresso.
Changing password for dmitresso.
(current) UNIX password:
为了使这个过程自动化,我正在编写脚本,其中我跟踪了更改密码部分的进展:
#! /bin/bash
username=dmitresso
hostname=aaa
pass=bbb
newpass=ccc
sshpass -p "${pass}" ssh -tt -o StrictHostKeyChecking=no ${username}@${hostname}
我已经尝试过echo -e "${pass}\n${newpass}\n${newpass}" | sshpass -p "${pass}" ssh -tt -o StrictHostKeyChecking=no ${username}@${hostname}
,但它在对话开始之前给出了我的密码作为输出:
WARNING: Your password has expired.
You must change your password now and login again!
bbb
ccc
ccc
Changing password for user dmitresso.
Changing password for dmitresso.
(current) UNIX password:
和另一种变化。
很多帖子都提到了类似的情况,但有: