MS Webdeploy V3 encryptPassword 올바른 사용법

MS Webdeploy V3 encryptPassword 올바른 사용법

내 ("이전") Server 2003/IIS6 및 ("새") Server 2012/IIS8 모두에 MS Webdeploy(버전 3.5)를 설치했습니다. 현재 저는 "이전" 서버에서 "새" 서버로 전송하기 전에 대상 서버를 백업하는 이 문서의 지침을 따르고 있으며 다음과 같은 방식으로 성공적으로 백업했습니다.

%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를 사용하여 모든 웹사이트 백업), "SSL 인증서가 있는 경우 encryptPassword [명령]이 필요합니다."라고 제안됩니다.
인증서를 처음 사용하는 경우 해당 매개변수에 어떤 비밀번호가 포함됩니까?

또한 전송을 준비할 때 백업이나 전송 중 하나/둘 모두에 추가해야 할 수 있는 다른 명령이 있습니까? (사용 시나리오를 나타낼 수 있는 포괄적인 명령 목록이 있습니까?) 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), 그러나 데이터베이스가 아닌 웹 파일과 구성만 전송하는 특별한 요구 사항에 대한 사용법이 확실하지 않았습니다.

어떤 제안이라도 보내주셔서 대단히 감사합니다.

답변1

글쎄요, 방금 왜 비밀번호가 필요한지 배웠습니다. (모르시는 분들을 위해어떻게, 하단에 예제 명령줄을 표시했습니다.)

의 예 중 하나에 따르면이 페이지에서 인수 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가 아카이브 구축 완료를 거부하고 다음과 같은 오류와 함께 종료되었기 때문에 이 옵션을 지정해야 한다는 것을 알았습니다(강조 추가).

오류: 'password' 속성위치는 '/webServer/appHostConfig[@path='']/location[@path='']/section[@name='system.applicationHost/applicationPools']/applicationPools/add[@name='NameOfAppPool']/ 프로세스 모델'안전하다고 표시되어 있습니다. 이 속성을 보관하려면 암호화 비밀번호를 지정해야 합니다.

저는 IIS 7을 사용하고 있기 때문에 주어진 "위치"는 보안 데이터가 있는 XML 요소를 참조하는 XPath 표현식입니다. 나는 문제의 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 절망 Reclining 외발자전거 마블링 aim petted' 설정을 지원하지 않습니다. 지원되는 설정은 (authType, 컴퓨터 이름, encryptPassword, includeAcls, 비밀번호, prefetchPayload, userName, wmsvc)입니다.

공간이 마음에 들지 않았던 것 같아요. 대신 하이픈을 사용하면 효과가 있었습니다. (아니요, 저는 이 비밀번호를 사용하지 않았습니다 ;-)

관련 정보