AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 722230
Accepted
SeanKilleen
SeanKilleen
Asked: 2015-09-15 09:19:03 +0800 CST2015-09-15 09:19:03 +0800 CST 2015-09-15 09:19:03 +0800 CST

msdeploy via jenkins e conta de serviço: conectado, mas "não foi possível autorizar"?

  • 772

Antecedentes / Objetivo

As partes móveis:

  • Eu tenho uma conta de serviço, vamos chamá-la de MyDomain\svcMyService.
  • Eu tenho um servidor remoto, vamos chamá-lo de MyDomain\MyServer.
  • Eu tenho um servidor Jenkins, vamos chamá-lo de MyDomain\MyJenkins.

Em Jenkins, tenho uma tarefa de implantação. Ele pega alguns artefatos e, em seguida, chama msdeploypara enviá-los para o MyServer.

Esta etapa de implantação falha e gostaria de descobrir o motivo.

O comando MSDeploy que estou usando

O comando é gerado automaticamente pelo Jenkins e acaba sendo o seguinte (dados confidenciais omitidos):

 "C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -verb:sync -source:iisApp="E:\Jenkins\jobs\NotARealJobName\workspace" -dest:iisApp="MyWebSite/MyWebApp",ComputerName="https://MyServer:8172/MsDeploy.axd",UserName=MyDomain\svcMyService,Password="NotARealPassword" -allowUntrusted 

O erro

A mensagem de erro que vejo da saída msdeploy é:

Código de erro: ERROR_USER_UNAUTHORIZED Mais informações: Conectado ao computador remoto ("MyServer") usando o Web Management Service, mas não pôde autorizar. Verifique se você está usando o nome de usuário e a senha corretos, se o site ao qual está se conectando existe e se as credenciais representam um usuário com permissão para acessar o site. Saiba mais em: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_USER_UNAUTHORIZED .

Erro: O servidor remoto retornou um erro: (401) Não autorizado.

Minha compreensão do que devo fazer

Esta pode ser uma lista incompleta ou incorreta. Por favor, diga-me se é aqui que o problema pode estar.

Acho que devo:

  • Instale o WebDeploy no IIS (3.6 é o mais recente neste caso).
  • Habilite o serviço de gerenciamento no IIS.
  • Crie um pool de aplicativos executado como MyDomain\svcMyService.
  • Sim, o mesmo nome de usuário que implanta também está executando. Não é o melhor, eu sei. Fora de minhas mãos no momento.
  • Crie o diretório para meu aplicativo da Web do IIS.
  • Conceda permissões neste diretório.
    • Permissões totais parasvcMyService
    • Permissões totais paraWDeployAdmin
    • Permissões totais para NetworkService(já que é assim que o WMSvc é executado)
  • Crie o Web Site com a porta apropriada
    • O site deve ser executado no pool de aplicativos da conta de serviço
    • O site deve se conectar à pasta usando a svcMyServiceconta.
  • Crie um aplicativo da web no site.
    • O site deve se conectar à pasta usando a svcMyServiceconta.
    • Adicione a svcMyServiceconta como um gerenciador de implementação no site e no nível do aplicativo.
  • Certifique-se de que o local WDeployConfigWritere as WDeployAdmincontas não tenham expirado e que suas senhas não possam ser alteradas.
  • Certifique-se de que a delegação de gerenciamento do IIS esteja usando contas WDeployConfigWritere WDeployAdmine atualize essas credenciais para cada delegação se você alterou a senha dessas contas locais.

Solução de problemas até agora

Manterei esta lista atualizada enquanto tento solucionar o problema.

Verifique os logs WMSvc IIS - parece que meu usuário não tem direitos para publicar

  • A amostra do log está abaixo:

#Fields: data hora s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) cs(Referer) sc-status sc-substatus sc-win32-status time -taken 2015-09-14 17:10:06 [IP do servidor] HEAD /MsDeploy.axd - 8172 - [Jenkins IP] - - 401 2 5 15

Vejo que todos os status são 401.2 com um código win32 de 5.

De acordo com este link de solução de problemas , "Se o usuário estiver autenticado, mas não tiver os direitos necessários para publicar, a entrada de log será semelhante" a ( 401 2 5).

Artigos referenciados

  • http://www.iis.net/learn/publish/troubleshooting-web-deploy/troubleshooting-common-problems-with-web-deploy
  • http://www.iis.net/learn/publish/using-web-deploy/configure-the-web-deployment-handler
iis
  • 1 1 respostas
  • 3674 Views

1 respostas

  • Voted
  1. Best Answer
    SeanKilleen
    2015-09-15T09:50:21+08:002015-09-15T09:50:21+08:00

    Encontrei a resposta neste antigo post do fórum de 2011 - parece muito obscuro.

    A solução encontrada naquele post do fórum foi:

    • Abra o Regedit
    • Abra o caminhoHKEY_LOCAL_MACHINE\Software\Microsoft\WebManagement\Server
    • adicione um DWORD nomeado WindowsAuthenticationEnabledcom um valor de1
    • Reinicie o WMsvc e o IIS

    Depois de executar essas etapas, parece ter funcionado para mim pela primeira vez.

    • 5

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve