Мой код пакетного файла требует запуска некоторых команд оболочки на нескольких серверах с использованием SSH. Для этого я использую Plink из цикла for
.
Я не хочу вводить пароль открытым текстом в командную строку Plink, используя -pw
. Вместо этого из соображений безопасности я хочу использовать шифрование пароля для своего пароля и хранить пароль в отдельном текстовом файле.
Я пытался использовать sshpass
, но это не поддерживается в пакетном режиме. Поскольку запрос на запуск кода будет на нескольких серверах, я не хочу генерировать пару ключей SSH для каждого сервера, так как это невозможно для сотен серверов в среде.
@echo off
for /f "delims=" %%a in (path\to\servers.txt) DO (
plink -v -ssh user@%%a -pw MY_PASSWORD echo %%a ; cat /path/to/config_file
)
pause
Я ожидаю, что пакетный скрипт будет работать на всех серверах с использованием зашифрованного пароля. Но с текущим кодом вывод отображается с использованием простого пароля.