Запустите команду удаленно на компьютере Windows

У меня есть экземпляр Windows Server 2008 на Amazon EC2 (облачная вычислительная платформа Amazon, которая предоставляет виртуальные машины в облаке). У него есть внешний IP, и у меня есть учетная запись администратора на коробке. Я хотел бы "загрузить" этот экземпляр удаленно, т. Е. Я хочу запускать команды для загрузки, установки и настройки на нем приложений, и все это без необходимости входа в систему ни разу. Кроме того, я не могу использовать psexec на исходном компьютере.

Я понял, как это сделать с удаленным компьютером, подключенным к домену, с помощью WMI. Тем не менее, я не смог сделать для удаленного компьютера на EC2. Вот некоторые конкретные ограничения:

  1. Удаленный компьютер не является частью моего домена, следовательно, нет Kerberos
  2. У удаленного компьютера нет сертификата, которому я доверяю, или наоборот

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

2 ответа

Я использую Windows на EC2 и могу многое из того, на что вы ссылаетесь - вы правы, эта проблема была решена. IMHO, лучшее решение, предлагаемое поставщиками облачного управления для Windows, это недавнее дополнение RightScale для поддержки Windows.

Я использую БЕСПЛАТНУЮ учетную запись разработчика RightScale, и они позволяют вам делать именно то, что вы имеете в виду выше. Это небольшой сдвиг в традиционном управлении Windows. У них есть концепция рецептов шеф-повара (или сценариев), которые загружаются экземплярами и запускаются во время загрузки. Это сценарий, который вы можете использовать для настройки / установки программного обеспечения. Это на самом деле очень убедительный инструмент и удивительно мощный. Если вы не хотите использовать каких-либо провайдеров управления облаком, таких как Rightscale, Scalr.net, Kaavo и т. Д., Я бы предложил запустить собственный сервер Chef или использовать аналогичные инструменты (Puppet, CfEngine и т. Д.) И использовать его для настройки и развертывания вашего облака. экземпляров. Последний выпуск Chef поддерживает клиенты Windows.

Если вам просто нужен быстрый способ удаленного запуска команд с вашего ноутбука / настольного компьютера на облачный экземпляр, то вы можете просто установить Windows Management Framework, который поставляется с Powershell 2.0. Используя Powershell 2.0, вы можете выдавать удаленные команды ("Invoke-Command", очень похоже на ssh) и запускать их практически в любом случае - в однострочных командах или в целых сценариях. Аутентификация довольно проста с доменом Windows. Вам просто нужно создать администратора на вашем рабочем столе с тем же именем пользователя и паролем, что и у вашего экземпляра, и Invoke-Command будет работать.

Хотя это не тот ответ, который вам нужен, имейте в виду, что вы можете создать собственный AMI, который уже содержит соответствующий код начальной загрузки на сервере, когда он подключается к сети. На данный момент это наиболее распространенное решение проблемы, с которой вы сталкиваетесь, и именно так Amazon ожидает от вас решения этой проблемы.

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

Существует несколько учебных пособий по восстановлению образов AMI. Вот один из Amazon: http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/index.html?creating-an-ami-windows.html

Другие вопросы по тегам