Ansible尝试通过SSH连接到Windows机器(失败)

时间:2017-06-14 01:32:26

标签: windows ansible

我们有一个Linux ansible服务器管理Windows域上的软件安装。我们已成功将软件安装到我们所有的Windows机器上而没有问题。我们刚刚添加了一台新的Windows 10计算机(是的,我们已成功连接到其他Win10计算机),当我们运行ansible安装脚本时,我们收到以下错误

fatal: [afc54]: UNREACHABLE! => { "changed": false, "msg": "Failed to connect to the host via ssh: OpenSSH_6.6.1, OpenSSL 1.0.1e-fips 11 Feb 2013\r\ndebug1: Reading configuration data /etc/ssh/ssh_config\r\ndebug1: /etc/ssh/ssh_config line 56: Applying options for *\r\ndebug1: auto-mux: Trying existing master\r\ndebug1: Control socket \"/home/ansible/.ansible/cp/ansible-ssh-afc54-22-ansible\" does not exist\r\ndebug2: ssh_connect: needpriv 0\r\ndebug1: Connecting to afc54 [192.168.2.193] port 22.\r\ndebug2: fd 3 setting O_NONBLOCK\r\ndebug1: connect to address 192.168.2.193 port 22: Connection timed out\r\nssh: connect to host afc54 port 22: Connection timed out\r\n", "unreachable": true

在剧本的[Gathering Facts]部分中,新机器显示

Using module file /usr/lib/python2.7/site-packages/ansible/modules/system/setu‌​p.py

而其他Windows机器显示

Using module file /usr/lib/python2.7/site-packages/ansible/modules/windows/win‌​_updates.ps1

为什么ansbile尝试通过SSH而不是Windows端口5986进行连接?相同的脚本在我们所有其他Windows计算机上成功运行,但是这个让我感到难过。

编辑: 如果我在主机文件中指定机器行上的凭证和规格(即ansible_user=user@domain ansible_password=password ansible_port=5986 ansible_connection=winrm),那么我会收到以下错误

afc54 | UNREACHABLE! => { "changed": false, "msg": "kerberos: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:579), ssl: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:579)", "unreachable": true }

1 个答案:

答案 0 :(得分:-1)

我不清楚为什么会这样,但我更改了主机文件和剧本中的组名([install]现在是[windows]),现在它正在运行正确。

编辑:一年后,我终于发现了这个原因。在group_vars目录中,没有为[install]设置任何内容,但[windows]下的windows.yml现有配置希望这有助于其他人=)