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

MS Web Deploy V3 encrypt Password правильное использование

Я установил MS Webdeploy (версия 3.5) на мой («старый») Server 2003 / IIS6 и («новый») Server 2012 / IIS8. В настоящее время я следую рекомендациям в этой статье, создавая резервную копию целевого сервера перед переходом со «старого» на «новый» сервер, и я успешно выполнил резервное копирование таким образом:

%windir%\system32\inetsrv\appcmd add backup “IIS_Backup_2012”

Я готовлюсь к резервному копированию и таким образом (ниже).

cd c:\Program Files\IIS\Microsoft Web Deploy V3
msdeploy -verb:sync -source:webServer -dest:package=E:\web_data\IIS_Backup_2012.zip

Я успешно сделал резервную копию этого способа, хотя в сообщении (Резервное копирование всех веб-сайтов с помощью MSDeploy), предполагается, что «encryptPassword [команда] требуется, если у вас есть сертификаты SSL».
Поскольку я новичок в сертификатах, какой пароль будет включен в этот параметр?

Кроме того, когда я готовлюсь к переносу, есть ли другие команды, которые мне, возможно, придется добавить к моей резервной копии или к моей передаче? (Есть ли полный список команд, которые могут указывать на сценарии использования?) Я нашел несколько списков из MS Tech Net (https://technet.microsoft.com/en-us/library/dd569001%28v=ws.10%29.aspx) и (https://technet.microsoft.com/en-us/library/dd569089%28v=ws.10%29.aspx), но я не был абсолютно уверен в том, что я использую в своих конкретных нуждах, а именно в передаче веб-файлов и конфигурации, а не базы данных.

Большое спасибо за любые предложения.

Я только что узнал, зачем тебе пароль. (Для тех, кто не знает как, Внизу я показал пример командной строки.)

По одному из примеров на эта страница, то encryptPassword аргумент - это вариант archiveDir, и он берет любые зашифрованные данные в конфигурации IIS (например, пароли) и сохраняет их в зашифрованном виде (с указанным паролем) в архиве. Вот выдержка из всех трех подходящих примеров, поскольку они могут скоро исчезнуть:

  1. Заархивируйте метабазу и укажите зашифрованный пароль.

    msdeploy -verb:sync -source:metaKey -dest:archivedir=c:\mydir,encryptPassword=MyPassKey
    
  2. Показать архив. Пароли будут отображаться в зашифрованном виде.

    msdeploy -verb:dump -source:archivedir=c:\mydir
    
  3. Используйте пароль, который вы указали ранее, чтобы отобразить архив. Пароли будут отображаться в виде обычного текста.

    msdeploy -verb:dump -source:archivedir=c:\mydir,encryptPassword=MyPassKey
    

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

пример

В моем случае я знал, что мне нужно указать этот параметр, поскольку msdeploy отказался завершить построение архива и завершил работу с ошибкой, подобной следующей (выделено мной):

Ошибка: свойство "пароль" расположен по адресу '/webServer/appHostConfig[@path=''*****************************************************************************************************************************************************************************************************************************************************************' Модель процесса ' отмечен как безопасный. Чтобы заархивировать это свойство, необходимо указать пароль шифрования.

Поскольку я использую IIS 7, указанное «местоположение» - это выражение XPath, относящееся к элементу XML, в котором находится защищенный элемент данных. Я правильно догадался, что рассматриваемый XML-файл был C:\Windows\System32\inetsrv\config\applicationHost.config, и вот эта строка:

<add name="NameOfAppPool" autoStart="true" managedPipelineMode="Integrated">
    <processModel identityType="SpecificUser" userName="IUSR_CUSTOM" password="[enc:IISWASOnlyAesProvider:G0BBLEDYG00K=:enc]" />
</add>

Конечно, строка содержит атрибут пароля, который я не хочу хранить в виде обычного текста.

Как

Вот как вы указываете зашифрованный пароль для msdeploy:

msdeploy -verb:sync -source:metaKey -dest:archivedir=c:\mydir,encryptPassword=MyPassKey

Вы также можете использовать -source:archivedir=c:\mydir,encryptPassword=MyPassKey когда вам нужно расшифровать зашифрованные данные.

Предостережение

Но будьте осторожны. Я заметил, что encryptPassword не примет произвольный пароль вроде этого: «отшелушивание оживить отчаяние, лежа на одноколесном велосипеде, мраморность, цель погладить». Он также выдает сообщение об ошибке, не связанное с последовательностью:

Ошибка: поставщик 'archivedir' не поддерживает настройку 'encryptPassword = exfoliate vitalize despair, a unicycle marbling aim petted'. Поддерживаемые параметры: (authType, computerName, encryptPassword, includeAcls, пароль, prefetchPayload, userName, wmsvc).

Я думаю, ему не понравились места. Когда я использовал дефисы, это сработало. (Нет, я не использовал этот пароль ;-)