如何解决通过Kerberos使用IP访问远程计算机上的资源失败NTLM被阻止
由于Vista
和Windows Server 2008
,当您尝试通过IP到达远程计算机上的资源(例如到达共享文件夹\\ xxxx \ MySharedFolder)时,Kerberos
不会反转IP的查找),而是将其回退到NTLM
,它在我的环境中被阻止,因此我无法访问资源。
我的代码包含许多IP用法,以便访问远程计算机上的资源,并且我想知道是否存在与操作系统无关的配置,使Kerberos
与IP一起使用,因为听起来好像已经有一种解决方案,而不是更改所有C#
代码以使用主机名而不是IP。
我在msdn上找到了一篇文章,但这与Windows 10
或Windows Server 2016
有关(没人能告诉我目标计算机将具有这些OS):
https://docs.microsoft.com/en-us/windows-server/security/kerberos/configuring-kerberos-over-ip
对我来说,对于这样一个古老的问题已经有了解决方案,这真的很有意义。 你知道这样的事吗? 谢谢!
解决方法
Windows中的Kerberos堆栈从不进行反向查询,并且始终阻止基于IP的SPN。链接中提到的注册表更改仅是为了在短期内使用户退出NTLM,而不是长期使用IP的解决方案。
您唯一的选择是使用通过其他方式确定的SPN手动调用SSPI堆栈,然后将票证手动添加到您的请求中。
但是,现在是2020年。使用DNS。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。