研究这个主题导致了部分答案、误导和兔子洞的令人发狂的迷宫。我无法相信在数以百万计的 Linux 和 Windows 服务器上没有一个简单的答案。所以,让我们让世界变得更美好吧!
我的愿望很简单:
从 Ubuntu使用域帐户和密码通过 WinRM 进行身份验证。我的要求规定我在设置时不知道帐户/密码(仅在运行时),因此不能“硬编码”到票证、证书等中。
我的代码在 Python 中,我目前正在使用pywinrm
,它似乎也不支持这一点。我只能通过在 Ubuntu 上设置 Kerberos 来获得域登录,这本身几乎是不可能的,并且似乎不符合我的动态凭据目标,除非我遗漏了什么。
非常尊重任何可以a)解释为什么这是一个不可能的目标或b)为实现它提供一些具体方向的人。我不是 Windows 专家,所以详细的答案最有帮助。(如果 Kerberos 确实可以做到这一点,请澄清我的误解。)
为了证明我已经完成了我的作业(即使这些项目可能不正确),以下是我目前认为正确的:
- WinRM 支持多种身份验证方法,包括:basic、kerberos、digest、negotiate(ntlm)、certificate 和 credssp。
- “基本”似乎不支持域帐户,例如:DOMAIN//bob
- 看来您无法明确请求 NTLM - 协商似乎是访问 NTLM 的唯一方法,它应该允许域帐户
- 摘要起初看起来很有希望,直到我阅读了许多对它的引用,尽管它被提及,但实际上根本不支持它。
- 我完全不清楚证书或 credssp 选项是否真的满足我的需求,如果它们甚至提供了一种对域进行身份验证的方法