Windows PowerShell: Выполните второй переход

Windows PowerShell Remoting — увлекательная разработка, позволяющая управлять несколькими удаленными компьютерами так же просто, как одним. В доменной среде она просто работает. Вкупе с тем, нужно смотреть за некими «подводными камнями», которые могут по-настоящему сбить вас с толку. «Второй переход» — какой-то из них.

Одна из в особенности восхитительных сторон Remoting — то, как отлично она интегрирована с определенными технологиями Windows, такими как протокол аутентификации Kerberos. В отличие от наименее современных средств, которые могут принимать и делать удаленные команды, Remoting не работает под всевластной учетной записью LocalSystem. Заместо этого, когда вы соединяетесь, ваши удостоверения Windows (под которыми вы вошли либо которые указаны при установке соединения) делегируются удаленному компу либо компьютерам.

Делегирование — интегрированная функция Kerberos и Active Directory. Она совсем неопасна. Ваш пароль не передается по сети в открытом, зашифрованном либо каком-либо еще виде. Он служит менее чем вместе применяемым ключом для шифрования.

Делегирование значит, что копия Windows PowerShell на удаленном компьютере делает команды так, как это делали бы вы, другими словами Remoting прозрачна исходя из убеждений безопасности. Все, на что вы имеете разрешение, вы сможете сделать удаленно. Если вы не имеете разрешения на что-либо, вы не сможете это сделать. Remoting делает команды так, как если б это были вы.

Итак, сядьте за собственный клиентский компьютер и объединитесь с сервером ServerA, который является удаленным компом. Ваше удостоверение делегируется этому компу. С компьютера ServerA попытайтесь инициировать очередное соединение с любым третьим компом. Это не непременно должно быть соединение Remoting. Вы сможете сравнить этому третьему компу сетевой диск, обратиться к хранилищу сертификатов либо сделать что-либо еще. Только-только вы попробовали совершить 2-ой переход.

Первым был переход от вашего клиента к ServerA. Вторым — переход от ServerA к другому компу, с которым вы пытаетесь объединиться. Неувязка появляется из-за того, что ваши удостоверения не делегируются во 2-ой раз.

По сути, это такая защитная функция, выдуманная для того, чтоб никто не мог обойти защиту и использовать ваши удостоверения без вашего ведома. 2-ой переход потерпит беду, так как ServerA не сумеет передать удостоверения без дополнительных усилий с вашей стороны.

Практически в каждом классе Windows PowerShell, который приходит мне в голову, кто-то сталкивался с таким ограничением. О том, что вы входите на удаленный компьютер, просто запамятовать: так прост и прозрачен доступ. Потому просто можно, в конце концов, попробовать установить удаленное соединение с третьим компом, не осознавая, что вы совершаете 2-ой переход.

Делегирование удостоверений не производится, 2-ой переход терпит беду, вы видите непонятные сообщения об ошибках, и в итоге все приходят в замешательство. Это может случиться, даже если вы сделали только один переход, но пытаетесь выполнить на удаленном компьютере операцию, требующую делегированные удостоверения.

В сообщении блога по Windows PowerShell «CredSSP for second-hop remoting» рассказывается о том, что происходит. Также там описывается решение, которое заключается в активизации нового протокола CredSSP. Его нужно активизировать на вашем клиентском компьютере и всех компьютерах, к которым вы собираетесь обращаться удаленно. Для этого служат последующие команды:

Enable-WSManCredSSP –Role client –DelegateComputer *
Enable-WSManCredSSP –Role server

Думаю, разумеется, какая команда производится на клиенте, а какая на сервере. Можно также активизировать этот протокол через Group Policy Object (объект групповой политики, GPO) в параметрах Windows Remote Management (WinRM). Не считая того, нужно указывать протокол CredSSP при выполнении Invoke-Command, Enter-PSSession, New-PSSession и всех других командлетов, использующих Remoting.

Ознакомьтесь с нашим бесплатным PDF-документом «A Layman’s Guide to PowerShell 2.0 Remoting», написанным Равикантом Чаганти (Ravikanth Chaganti). В нем более тщательно рассказывается о дилемме второго перехода (в особенности в главе 10) и о том, как разрешать возникающие из-за него запутанные ситуации. К примеру, отмечается, что контроллерам домена не нужна активизация CredSSP для того, чтоб сотворить волшебство второго перехода, так как они настроены на его поддержку по дефлоту.

Имеется ряд других сложных ситуаций, с которыми можно столкнуться при работе с Remoting. Вам могут повстречаться компьютер, не входящий в домен, соединение меж доменами, удаленный доступ через прокси-сервер и т. д. Сделайте команду run help about_remote_troubleshooting в Windows PowerShell, чтоб получить подробные аннотации, связанные с этими и другими ситуациями.

Аналогичный товар: Комментирование на данный момент запрещено, но Вы можете оставить ссылку на Ваш сайт.

Комментарии закрыты.