Windows不受信任域的远程管理


12

我目前正在尝试在2个不受信任的域之间启用Windows远程管理(特别是Powershell Remoting),并且没有运气。

我的设置的简要说明:

  • domain1-我的工作站在此域上
  • domain2-我要连接的服务器在此域上

这些域之间不信任。

我正在尝试从工作站(已加入domain1)使用以下命令创建Powershell远程连接:

参数(
    [参数(必须= $ True)]
    $服务器
)

$ username =“域\用户”
$ password =读取主机“为$ username输入密码” -AsSecureString

$ credential =新对象System.Management.Automation.PSCredential($ username,$ password)

$ session = New-PSSession“ $ server”-身份验证CredSSP-凭据$ credential -UseSSL -SessionOption(New-PSSessionOption -SkipCACheck -SkipCNCheck)
Enter-PSSession $ session

导致以下错误消息:

New-PSSession:[computername.domain2.com]连接到远程服务器computername.domain2.com失败,并显示以下错误消息:WinRM客户端
无法处理该请求。由于计算机不受信任,因此计算机策略不允许将用户凭据委派给目标计算机。目标的身份
如果使用以下命令将WSMAN服务配置为使用有效证书,则可以验证计算机:winrm set winrm / config / service'@ {CertificateThumbprint =“”}'或
您可以检查事件查看器中是否有指定无法创建以下SPN的事件:WSMAN /。如果发现此事件,则可以使用以下命令手动创建SPN
setspn.exe。如果存在SPN,但是CredSSP无法使用Kerberos验证目标计算机的身份,并且您仍然希望允许将用户凭据委派给目标计算机
计算机,请使用gpedit.msc并查看以下策略:计算机配置->管理模板->系统->凭据委派->允许仅具有NTLM的新凭据
服务器身份验证。验证是否已启用并配置了适用于目标计算机的SPN。例如,对于目标计算机名称“ myserver.domain.com”,SPN可以是
下列之一:WSMAN / myserver.domain.com或WSMAN / *。domain.com。这些更改后,请再次尝试该请求。有关更多信息,请参见about_Remote_Troubleshooting帮助主题。

我已经尝试/验证了以下内容:

  1. 我验证了域2中的WSMAN \ computername和WSMAN \ computername.domain2.com都存在SPN。
  2. 验证正确设置了计算机配置->管理模板->系统->凭据委派->允许仅NTLM服务器身份验证的新凭据。
  3. 在目标计算机上将winrm配置为使用ssl。
  4. 使用以下命令在目标计算机和本地工作站上配置了CredSSP:
在目标计算机上启用-WSManCredSSP-角色服务器#
Enable-WSManCredSSP-角色客户端-DelegateComputer *-强制
  1. 我已验证,没有FW规则(位于计算机本地或网络本地)阻止我的访问。

没有一个允许我从我在domain1中的工作站成功连接到domain2中的目标计算机的。我可以成功连接到加入domain1的其他服务器,而不能成功连接到domain2中的服务器。我还有什么需要寻找的东西,和/或设法使它起作用?

2015年6月8日更新 实际上,我已经能够验证无需使用CredSSP就可以从工作站连接到服务器,这很好。但是,我需要能够针对SharePoint运行脚本,并且在没有CredSSP的情况下执行此操作会失败,并显示权限错误。


您是否尝试过更具体地将凭证委派给什么?例如Enable-WSManCredSSP -Role Client -DelegateComputer WSMAN/computername.domain2.com((msdn.microsoft.com/en-us/library/ee309365(v=vs.85).aspx,第3点。)
约翰(John


不幸的是,这些建议都没有奏效。
Nick DeMayo 2015年


1
oo!我也在您链接的文章中找到了答案。我过去曾尝试将“ AllowFreshCredentialsDomain”设置为具有SPN,但这没有用。原来,我可以设置“ AllowFreshCredentialsWhenNTLMOnly”和“ AllowFreshCredentialsWhenNTLMOnlyDomain”,它可以正常工作!user2320464,如果可以的话,请发表评论作为答复,我会接受的,您将获得赏金!
Nick DeMayo 2015年

Answers:


2

MSDN文章介绍如何配置WinRM的多跳的支持也地址进行连接时Kerberos是不是一种选择。以下是摘要。

Windows远程管理(WinRM)支持在多台远程计算机之间委派用户凭据。现在,多跳支持功能可以使用凭据安全服务提供程序(CredSSP)进行身份验证。CredSSP使应用程序可以将用户凭据从客户端计算机委派给目标服务器。

CredSSP身份验证用于无法使用Kerberos委派的环境。添加了对CredSSP的支持,以允许用户连接到远程服务器并能够访问第二跳计算机,例如文件共享。

具体来说,本文中与注册表项/组策略设置AllowFreshCredentialsWhenNTLMOnly有关的部分仅解决了我遇到的问题。从文章:

如果Kerberos身份验证和证书指纹都不可用,则用户可以启用NTLM身份验证。如果使用NTLM身份验证,则必须启用“允许仅具有NTLM服务器身份验证的新凭据(AllowFreshCredentialsWhenNTLMOnly)”策略,并且必须将带有WSMAN前缀的SPN添加到该策略中。此设置比Kerberos身份验证和证书指纹更不安全,因为凭据被发送到未经身份验证的服务器。

有关AllowFreshCredentialsWhenNTLMOnly策略的详细信息,请参阅组策略编辑器和知识库文章951608提供的策略说明。AllowFreshCredentialsWhenNTLMOnly策略位于以下路径:计算机配置\管理模板\系统\凭据委派。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.