【问题标题】:Ansible: Unspecified GSS failure: Minor code may provide more information, no Kerberos credentials availableAnsible:未指定的 GSS 故障:次要代码可能提供更多信息,没有可用的 Kerberos 凭据
【发布时间】:2016-05-03 07:58:06
【问题描述】:

我已经按照here 的规定设置了我的 Ansible Tower 和 Windows Kerberos / Active Directory 身份验证。这也是官方文档中解释的相同程序。有关信息,这是我所做的 -

  1. 在 Ubuntu 服务器中安装了建议的 Kerberos 软件包
  2. 按照建议编辑了配置文件

我可以通过按照建议运行 kinit 命令来验证我的配置是否正常工作 -

kinit -C username@DOMAIN.COM

之后运行的 klist 命令显示了预期的信息

klist
Ticket cache: FILE:/tmp/krb5cc_1000
Default principal: username@DOMAIN.COM

Valid starting       Expires              Service principal
2016-05-03T10:59:04  2016-05-03T20:59:04  krbtgt/DOMAIN.COM@DOMAIN.COM
    renew until 2016-05-04T10:58:59

我的 Ansible Tower 清单仅包含一个 VM,在主机属性的变量下,我指定了以下详细信息 -

ansible_connection: winrm
ansible_port: "5986"
ansible_ssh_user: username@DOMAIN.COM

我想密码不是必需的,因为票是通过 kinit 命令获得的。我尝试通过指定 ansible_ssh_pass 添加上面的密码,但这没有帮助。

现在,当我运行“作业模板”时,它会立即失败并显示此消息。

TASK [setup] *******************************************************************
fatal: [VM-NAME]: FAILED! => {"failed": true, "msg": "kerberos: (('Unspecified GSS failure.  Minor code may provide more information', 851968), ('No Kerberos credentials available', -1765328243)), plaintext: 401 Unauthorized."} 

我该如何解决这个问题?

【问题讨论】:

  • 对于 Tower 中一个相对较新的功能来说,这似乎是一个特定的问题。您是否尝试过向 support@ansible.com 发送电子邮件?
  • 不,我没有给他们发邮件。我正在使用免费套餐(最多 10 个用户),因为它正在审查/实验中。您对如何解决此问题有什么建议吗?
  • 我现在已经更新了 tower 版本和 ansible 版本。行为仍然相同。
  • 找到解决办法了吗?
  • @ShacharHamuzimRajuan,我放弃了这种方法并继续使用基于本地帐户的身份验证。

标签: ansible ansible-playbook ansible-awx


【解决方案1】:

我遇到了类似的问题。我环境中 10% 的服务器:

"msg": "kerberos: authGSSClientStep() failed: (('Unspecified GSS failure.  Minor code may provide more information', 851968), ('Server not found in Kerberos database', -1765328377))",

原因是配置了 PTR 记录但不正确或有重复的 PTR 记录。

您可以在 bash 中通过 host 命令或在 PowerShell 中通过 Resolve-DnsName 进行检查。

例子:

检查 DNS 记录

host {{ Server FQDN }}

根据之前 DNS 查询的输出检查反向 DNS 记录:

host {{ Returned IP from Normal DNS lookup }}

请注意:没有 PTR 记录是可以的,但不正确或重复的 PTR 记录可能会导致问题。

【讨论】:

  • 多个 PTR 记录确实造成了麻烦 - 感谢您的参与。
【解决方案2】:

https://medium.com/@ripon.banik/ansible-windows-domain-authentication-1531d1d256c3所言

确保 Windows 主机已加入域,并且清单中的 ansible_host 是使用主机的 FQDN 设置的。

通常我用 IP 填写库存文件,将其更改为 FQDN 为我解决了这个问题..

这里还有更多信息:https://groups.google.com/g/ansible-project/c/tdDj4pabj30

【讨论】:

    【解决方案3】:

    对于这个问题的任何未来潜伏者...在 Windows 客户端的命令提示符下将其设置为管理员:

    winrm set winrm/config/service '@{AllowUnencrypted="true"}'
    

    【讨论】:

    • 这看起来很危险......我怀疑这是解决这个问题的正确方法
    猜你喜欢
    • 2015-04-20
    • 2020-03-23
    • 1970-01-01
    • 2022-11-10
    • 2015-02-12
    • 1970-01-01
    • 2019-02-12
    • 2019-10-02
    • 1970-01-01
    相关资源
    最近更新 更多