У меня есть 1000 серверов для работы, но сегодня все пароли серверов истекли.  Я регулярно использую plink (PuTTY) для соединения с 1000 серверами.  Сегодня я получил сообщение об ошибке «Требуется смена пароля, но TTY недоступен».

Затем я включил TTY, включив plink -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 строки: пароль1 пароль2 пароль2

но до password1 (текущий пароль Unix) это успешный результат, после чего команда не может получить пароль 2 и запросить новый пароль.

Пожалуйста, предоставьте хорошее решение.

1 ответ1

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 …

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .