Назад | Перейти на главную страницу

Удаленное управление Windows через ненадежные домены

В настоящее время я пытаюсь включить удаленное управление Windows (в частности, удаленное взаимодействие Powershell) между двумя ненадежными доменами, и мне не повезло.

Краткое описание моей настройки:

Между этими доменами нет доверия.

Я пытаюсь создать удаленное соединение Powershell, используя следующие команды со своей рабочей станции (присоединенной к домену 1):

param (
    [Parameter(Mandatory=$True)]
    $server
)

$username = "domain\user"
$password = read-host "Enter Password for $username" -AsSecureString

$credential = New-Object System.Management.Automation.PSCredential($username, $password)

$session = New-PSSession "$server" -Authentication CredSSP -Credential $credential -UseSSL -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck)
Enter-PSSession $session

В результате появляется следующее сообщение об ошибке:

New-PSSession : [computername.domain2.com] Connecting to remote server computername.domain2.com failed with the following error message : The WinRM client
cannot process the request. A computer policy does not allow the delegation of the user credentials to the target computer because the computer is not trusted. The identity of the target
computer can be verified if you configure the WSMAN service to use a valid certificate using the following command: winrm set winrm/config/service '@{CertificateThumbprint=""}'  Or
you can check the Event Viewer for an event that specifies that the following SPN could not be created: WSMAN/. If you find this event, you can manually create the SPN using
setspn.exe .  If the SPN exists, but CredSSP cannot use Kerberos to validate the identity of the target computer and you still want to allow the delegation of the user credentials to the target
computer, use gpedit.msc and look at the following policy: Computer Configuration -> Administrative Templates -> System -> Credentials Delegation -> Allow Fresh Credentials with NTLM-only
Server Authentication.  Verify that it is enabled and configured with an SPN appropriate for the target computer. For example, for a target computer name "myserver.domain.com", the SPN can be
one of the following: WSMAN/myserver.domain.com or WSMAN/*.domain.com. Try the request again after these changes. For more information, see the about_Remote_Troubleshooting Help topic.

Я пробовал / проверял следующее:

  1. Я проверил, что SPN существует как для WSMAN \ computername, так и для WSMAN \ computername.domain2.com в domain2.
  2. Проверено, что Конфигурация компьютера -> Административные шаблоны -> Система -> Делегирование учетных данных -> Разрешить новые учетные данные с проверкой подлинности сервера только NTLM была установлена ​​правильно.
  3. Настроил winrm на целевом компьютере для использования ssl.
  4. Настроил CredSSP на целевом компьютере и моей локальной рабочей станции с помощью следующих команд:
Enable-WSManCredSSP -Role Server #on the target computer
Enable-WSManCredSSP -Role Client -DelegateComputer * -Force
  1. Я убедился, что никакие правила FW, локальные для компьютеров или в сети, не блокируют мой доступ.

Ни один из них не позволил мне успешно подключиться к целевому компьютеру в домене 2 с моей рабочей станции в домене 1. Я могу успешно подключиться к другим серверам, которые присоединены к домену 1, но не к серверам домена 2. Есть ли что-нибудь еще, что я должен искать и / или пытаться заставить это работать?

ОБНОВЛЕНИЕ 08.06.2015 На самом деле я смог убедиться, что могу подключиться к серверу со своей рабочей станции без использования CredSSP, что было бы хорошо; однако мне нужно иметь возможность запускать сценарии для SharePoint, и при выполнении этого без CredSSP возникает ошибка с разрешениями.

это MSDN В статье показано, как настроить WinRM для поддержки нескольких переходов, что также касается установления соединений, когда Kerberos не подходит. Краткое изложение ниже.

Удаленное управление Windows (WinRM) поддерживает делегирование учетных данных пользователя на нескольких удаленных компьютерах. Функция поддержки нескольких переходов теперь может использовать Credential Security Service Provider (CredSSP) для аутентификации. CredSSP позволяет приложению делегировать учетные данные пользователя с клиентского компьютера на целевой сервер.

Аутентификация CredSSP предназначена для сред, в которых нельзя использовать делегирование Kerberos. Была добавлена ​​поддержка CredSSP, чтобы позволить пользователю подключаться к удаленному серверу и иметь возможность получить доступ к машине второго перехода, например к общему файловому ресурсу.

В частности, раздел статьи, относящийся к параметру записи реестра / групповой политики AllowFreshCredentialsWhenNTLMOnly, решил мою проблему. Из статьи:

Если ни аутентификация Kerberos, ни отпечатки сертификатов недоступны, пользователь может включить аутентификацию NTLM. Если используется проверка подлинности NTLM, необходимо включить политику «Разрешить новые учетные данные с проверкой подлинности сервера только для NTLM» (AllowFreshCredentialsWhenNTLMOnly) и добавить в политику SPN с префиксом WSMAN. Этот параметр менее безопасен, чем проверка подлинности Kerberos и отпечатки сертификатов, поскольку учетные данные отправляются на сервер, не прошедший проверку подлинности.

Для получения дополнительных сведений о политике AllowFreshCredentialsWhenNTLMOnly см. Описание политики, предоставленное редактором групповой политики и KB 951608. Политика AllowFreshCredentialsWhenNTLMOnly находится по следующему пути: Конфигурация компьютера \ Административные шаблоны \ Система \ Делегирование учетных данных.