plink - 需要更改密码但没有可用的 TTY

plink - 需要更改密码但没有可用的 TTY

我有 1000 台服务器要使用,但今天所有服务器的密码都过期了。我经常使用 plink (PuTTY) 连接 1000 台服务器。今天我收到错误“需要更改密码,但没有可用的 TTY”。

然后我通过启用启用了 TTYplink -ssh -t并尝试使用以下命令更改密码

m:\plink>echo.password1 & echo.password2 & echo.password2 | plink -ssh -t username@13NB:xx0:320:112:0:0:0:XY -pw password1

但是 passwd:发生了身份验证令牌操作错误。

手动执行时(Windows-cli 上的人工输入)一切正常,但自动执行时出现问题。

尝试其他方法时:

m:\plink>plink -ssh -t username@13NB:xx0:320:112:0:0:0:XY -pw password1 < credential.txt

credential.txt 包含 3 行:password1 password2 password2

但直到密码1(当前unix密码)成功之后,命令无法获取密码2并提示新密码。

请提供一个好的解决方案。

答案1

Windows CMD 将您的命令行解释为

m:\plink>echo.password1
m:\plink>echo.password2
m:\plink>echo.password2 | plink …

为了将所有三个密码发送到管道,您需要对echo命令进行分组:

m:\plink>(echo.password1 & echo.password2 & echo.password2) | plink …

相关内容