У меня есть компьютер с именем ws24 (192.168.1.168) и другой с именем srvPPassTest2.
Я написал программу, работающую на ws24, которая является «прокси RDP». Он принимает соединения от клиентов RDP через порт 7070 (настраивается) и перенаправляет их на srvPPassTest2. Я делаю следующее, чтобы настроить компьютеры для использования прокси:
./makecert -n "CN=ws24.pleasant.local" -pe -ss Root -sr localMachine -sky exchange -m 120 -r -a sha1 -eku 1.3.6.1.5.5.7.3.1
Enable-WSManCredSSP -role client -DelegateComputer srvPPassTest2
Enable-WSManCredSSP -role client -DelegateComputer ws24
Enable-WSManCredSSP -role client -DelegateComputer 192.168.1.168
Enable-WSManCredSSP -role Server
на srvPPassTest2.Если вы получаете какие-либо ошибки при вызовах WSManCredSSP, попробуйте сначала вызвать Enable-PSRemoting.
Вот что происходит, когда я запускаю прокси-сервер rdp и использую RDP-клиент для подключения к нему:
Затем я получаю сообщение об ошибке от клиента rdp:
Произошла ошибка аутентификации (Код: 0x609)
Удаленный компьютер: 192.1.168.1.168
Единственный релевантный результат, когда я ищу ошибку 0x609, это Вот и я выполнил эти шаги. Одно важное замечание: у меня этот прокси работал 3 месяца назад. Затем srvPPassTest2 был возвращен в предыдущее состояние, и теперь прокси не работает. Я не могу вернуть srvPPassTest2 в состояние, когда он работал, эта виртуальная машина не была моей, и моментальный снимок не был сохранен ИТ-специалистом> :(
Где найти информацию о коде 0x609?
Какие еще возможные настройки на ws24 или srvPPassTest2 мне не хватает? Я думаю, что сертификат, вероятно, должен находиться в дополнительной папке на srvPPassTest2, но я не знаю в какой.
Что я могу сделать для устранения неполадок? Обмены NTLM и TSCredential работают безупречно.
Ошибка была на этом этапе:
- Прокси-сервер получает и изменяет (при необходимости) сообщение ConnectionRequestPDU протокола RDP, чтобы убедиться, что для флагов SupportedProtocol установлено значение ProtocolHybrid и ProtocolSSL. Это обеспечит использование CredSSP. Это перенаправляется на srvPPassTest2.
Как оказалось, мне также пришлось установить флаг ProtocolHybridEx в ConnectionRequestPDU. Я предполагаю, что это связано с тем, что перенаправленные сообщения, следующие после TSCredential, заботятся об этом флаге.
В этом случае я решил просто пересылать флаги, используемые клиентом, вместо того, чтобы создавать их самостоятельно. Если флаг ProtocolHybrid не установлен, я аккуратно сделаю ошибку, поскольку мы требуем использования аутентификации на уровне сети (NLA).