我有 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 …