0

你们中有人设法将 Windows 节点集成到 Rundeck 中吗?我尝试了所有方法,但无法运行临时命令或从 rundeck 到 Windows 服务器的脚本。遵循的步骤:

  • 在 Ubuntu 机器上安装 rundeck
  • 为 Windows 目标启用 winrm(使用 ansible playbook 测试并且可以正常工作)
  • 基本连接(本地管理员和密码)

将节点添加到 resources.xml 中,如下所示:

<node name="winHost" connectionType="WINRM_NATIVE" node-executor="overthere-winrm" winrm-password-option="winrmPassword" winrm-protocol="http" winrm-auth-type="basic"  username="<mylocaluser>" winrmPassword="<mypassword>" description="Rundeck server node Windows" tags="" hostname="10.23.10.107" osArch="x64" osFamily="windows" osName="Microsoft Windows" osVersion="Microsoft Windows 10" />
  • 添加了winrm插件:rundeck-winrm-plugin-1.3.1.jar

我的猜测是 Rundeck 使用“rundeck”用户运行命令或脚本

谢谢

4

2 回答 2

1

是的,我今天刚做了一个Windows域服务器。

我为“默认节点执行器”设置了一个带有“WinRM”的项目,并具有以下选项:

  • 身份验证:kerberos
  • WinRM 协议:https
  • HTTPS 证书信任:全部
  • HTTPS 主机名验证:全部

您需要使用您的 Kerberos 配置创建一个文件(在 Ubuntu 中的 /etc/krb5.conf 中,在 <> 您的首选项中,注意大写):

[libdefaults]
        default_realm = <TESTDOMAIN.LOCAL>
        ticket_lifetime = 24h
        renew_lifetime = 7d

[realms]
        <TESTDOMAIN.LOCAL> = {
                kdc = <dc>.<testdomain.local>
                default_domain = <testdomain.local>
                kpasswd_server = <dc>.<testdomain.local>
        }

[domain_realm]
        .<testdomain.local> = <TESTDOMAIN.LOCAL>
        <testdomain.local> = <TESTDOMAIN.LOCAL>

testdomain.local 是 Windows 域的 fqdn dc 是您的域中具有 kdc 角色的服务器

最后,您必须在项目中配置 resources.xml({} 您的偏好):

<?xml version="1.0" encoding="UTF-8"?>
<project>
<node name="{server}" description="Windows server node" tags="windows" osArch="x86_64" osFamily="windows" osName="Windows Server 2008" osVersion="2008"
  node-executor="overthere-winrm"
  connectionType="WINRM_INTERNAL"
  hostname="<ip or fqdn>"
  winrmEnableHttps="true"
  winrmHttpsCertificateTrustStrategy="ALLOW_ALL"
  winrmHttpsHostnameVerificationStrategy="ALLOW_ALL"
  username="{domain user}@{TESTDOMAIN.LOCAL}"
  password="secret"
  winrm-protocol="https"
  winrm-auth-type="kerberos"
  winrmPassword="secretr"
  winrm-password-option="winrmPassword"
  winrm-password-storage-path="{file with the password}"
  winrm-connection-timeout="3600000"
/>

于 2016-09-12T18:36:30.943 回答
0

你检查下面的链接。我正在使用 Windows 服务器,使用带有 WinRM 的 over-there 插件和带有 Cygwin 的 OpenSSH 来运行 shell 脚本。目前 Overthere 插件不支持脚本执行,所以我使用的是 OpenSSH。您可以在下面找到逐步配置的文章。

Rundeck Windows 节点

于 2016-02-05T19:16:35.760 回答