【发布时间】:2015-10-11 03:27:23
【问题描述】:
我正在尝试从安装了 Ansible 的 Linux 服务器 ping Windows 服务器:
ansible windows -i etc/ansible/hosts -m win_ping -u user@REALM.NET -vvvv
我得到这个错误:
<server.com> ESTABLISH WINRM CONNECTION FOR USER: on PORT 5985 TO server.com
<server.com> WINRM CONNECT: transport=kerberos endpoint=http://server.com:5985/wsman
...
File "/usr/lib/python2.6/site-packages/winrm/transport.py", line 167, in __init__
kerberos.authGSSClientStep(krb_context, '')
GSSError: (('Unspecified GSS failure. Minor code may provide more information', 851968),
('Server not found in Kerberos database', -1765328377))
etc/ansible/hosts
[windows]
server.com:5985
etc/ansible/group_vars/windows.yml
ansible_user: user@REALM.NET
ansible_pass: password
ansible_port: 5985
ansible_connection: winrm
etc/krb5.conf
[libdefaults]
dns_lookup_kdc = true
dns_lookup_realms = false
default_realm = REALM.NET
[realms]
REALM.NET = {
kdc = server.com
}
[domain_realm]
.server.com = REALM.NET
我还更新了transport.py this SO question 中提到的
任何想法如何解决这个问题?
【问题讨论】:
-
你对你的域用户做了 kinit 吗? docs.ansible.com/ansible/…
-
@liviu-costea 是的,我运行 kinit user@REALM.NET。当我运行 klist 时:票证缓存:文件:/tmp/krb5cc_0 默认主体:user@REALM.NET 有效开始过期服务主体 10/11/15 20:40:36 10/12/15 06:40:52 krbtgt/REALM .NET@REALM.NET 续订至 10/12/15 20:40:36
-
我在尝试做这样的事情时遇到了另一个问题(ansible 1.9.2),group_vars/windows.yml 仍然可以在中间有“ssh”的旧版本上工作,所以类似于: ansible_ssh_user, ansible_ssh_pass, ansible_ssh_port, ansible_ssh_connection