Rundeck - 在Windows节点上的PowerShell上运行内联脚本的无效密码

时间:2017-09-07 00:20:58

标签: rundeck

大家好,并提前致谢,

首先抱歉我的英语不好。我在使用 Rundeck 对远程Windows节点执行内联脚本时遇到问题。我的Rundeck在Centos7上运行。 我的目标:在rundeck上编写我的脚本并在远程PowerShell上执行它。

实际状态:

我配置了winrm插件,节点......如果我在作业配置中使用远程命令选项,它就可以工作。例如一个简单的ipconfig。还可以在节点上执行本地脚本,例如使用:powershell.exe $PATH/script.ps1。它可能是一个解决方案,但我需要修改脚本而不连接到Windows节点。此脚本不断更新。出于这个原因,我只有内联脚本选项。

我在Windows节点上配置了OpenSSH服务器以运行SCP。如果我通过ssh连接到rundeck,并输入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.

有什么想法吗?我找不到问题...

谢谢

1 个答案:

答案 0 :(得分:0)

错误来自第二步Script to execute: ipconfig (for example)。对于所有脚本执行,rundeck将首先将文件scp到目标服务器,然后运行脚本。默认情况下,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 Password Authentication