大家好,并提前致谢,
首先抱歉我的英语不好。我在使用 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.
有什么想法吗?我找不到问题...
谢谢
答案 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