Rundeck - Недействительный пароль для выполнения встроенного скрипта в PowerShell вне узла Windows

Всем привет и заранее спасибо,

Прежде всего, извините за мой плохой английский. У меня проблема с выполнением встроенного скрипта для удаленного узла Windows с помощью Rundeck. Моя Rundeck работает на Centos7. Моя цель: написать сценарий на rundeck и выполнить его на удаленной оболочке PowerShell.

Текущее состояние:

Я настроил плагин winrm, узел… и он работает, если я использую параметры удаленной команды в конфигурации задания. Например, простой ipconfig. Также работает выполнение локального сценария на узле, например, используя: powershell.exe $PATH/script.ps1. Это могло бы быть решением, но мне нужно изменить скрипт без подключения к узлу Windows. Эти скрипты постоянно обновляются. По этой причине у меня есть только встроенный скрипт.

Я настроил сервер OpenSSH на узле Windows для запуска SCP. Если я подключаюсь к rundeck через ssh и набираю ssh Administrator@ipwindows, я могу войти в систему без пароля.

Ну, когда я пытаюсь запустить задание с этого шага:

    -Step type: Script – Inline script
    -Script to execute: ipconfig (for example)
    -Invocatión script: powershell.exe
    -File extensión:  .ps1
    -Execution preview: $ powershell.exe "scriptfile.ps1 "

Когда я запускаю задание, у меня появляется следующая ошибка:

Authentication failure connecting to node: "Windoes Node". Password incorrect. Failed dispatching to node “Windows Node”: [jsch-scp] Failed copying the file: Authentication failure connecting to node: "Windows Node". Password incorrect.

Любые идеи? Я не могу найти проблему ...

Спасибо


person acruz    schedule 07.09.2017    source источник


Ответы (1)


Ошибка возникает на втором шаге Script to execute: ipconfig (for example). При выполнении всех сценариев rundeck сначала загружает файл на целевой сервер, а затем запускает сценарий. По умолчанию rundeck использует ключ ssh для аутентификации ssh. Поскольку вы пытаетесь использовать аутентификацию по паролю SSH (даже если у вас нет пароля на целевом сервере), все равно необходимо сделать некоторую конфигурацию в файле ресурсов вашего узла.

Задайте пароль для администратора в файле ресурсов узла Rundeck.

Файл ресурсов узла:

<node name="egon" description="egon" osFamily="unix"
username="rundeck"
hostname="egon"
ssh-authentication="password"
ssh-password-option="option.sshPassword1" />

Определение должности:

<joblist>
    <job>
        <!-- ... -->
        <context>
          <project>project</project>
          <options>
            <option required='true' name='sshPassword1' secure='true' valueExposed="false"/>
          </options>
        </context>
        <!-- ... -->
    </job>
</joblist>

Подробнее см. Проверка подлинности пароля SSH

person Yang    schedule 07.09.2017