Код моего пакетного файла требует запуска некоторых команд оболочки на нескольких серверах с использованием 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
Я ожидаю, что пакетный скрипт будет работать на всех серверах с использованием зашифрованного пароля. Но с текущим кодом вывод отображается с использованием простого пароля.