

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Solução de problemas do auxiliar de credenciais e das conexões HTTPS com AWS CodeCommit
<a name="troubleshooting-ch"></a>

As informações a seguir podem ajudá-lo a solucionar problemas comuns ao usar o auxiliar de credenciais incluído com o AWS CLI e HTTPS para se conectar aos repositórios. CodeCommit 

**nota**  
Embora o auxiliar de credenciais seja um método compatível para se conectar CodeCommit usando acesso federado, um provedor de identidade ou credenciais temporárias, o método recomendado é instalar e usar o utilitário. **git-remote-codecommit** Para obter mais informações, consulte [Etapas de configuração para conexões HTTPS AWS CodeCommit com git-remote-codecommit](setting-up-git-remote-codecommit.md).

**Topics**
+ [Eu recebo um erro ao executar o comando `git config` para configurar o assistente de credenciais](#troubleshooting-os-syn1)
+ [Vejo um erro ao ler o nome do usuário quando tento clonar um repositório](#troubleshooting-gitconfig1)
+ [Recebo um erro de comando não encontrado no Windows ao usar o assistente de credenciais](#troubleshooting-py3)
+ [Sou solicitado a fornecer um nome de usuário quando me conecto a um repositório CodeCommit](#troubleshooting-ae1)
+ [Git para macOS: eu configurei o assistente de credenciais com êxito, mas agora o acesso ao meu repositório é negado (403)](#troubleshooting-macoshttps)
+ [Git para Windows: eu instalei o Git para Windows, mas o acesso ao meu repositório é negado (403)](#troubleshooting-windowshttps)

## Eu recebo um erro ao executar o comando `git config` para configurar o assistente de credenciais
<a name="troubleshooting-os-syn1"></a>

**Problema:** ao tentar executar o comando git config para configurar o auxiliar de credenciais para se comunicar com um CodeCommit repositório, você vê um erro informando que há poucos argumentos ou um prompt de uso sugerindo comandos e sintaxe do Git config.

**Possíveis correções:** o motivo mais comum para esse erro é que aspas simples são usadas para o comando em um sistema operacional Windows ou aspas duplas são usadas para o comando em um sistema operacional Linux, macOS ou Unix. A sintaxe correta é a seguinte:
+ Windows: `git config --global credential.helper "!aws codecommit credential-helper $@"`
+ Linux, macOS ou Unix: `git config --global credential.helper '!aws codecommit credential-helper $@'`

## Vejo um erro ao ler o nome do usuário quando tento clonar um repositório
<a name="troubleshooting-gitconfig1"></a>

**Problema:** quando tenta clonar um repositório usando o assistente de credenciais, você vê um erro informando que o sistema não conseguiu ler o nome de usuário da URL do repositório.

**Correções possíveis:** o motivo mais comum para esse erro é que o arquivo .gitconfig não foi criado ou configurado corretamente no seu computador. Abra seu arquivo .gitconfig e verifique se o assistente de credenciais está configurado corretamente. Se você estiver em um computador executando Linux, macOS ou Unix, verifique também se o valor de `$HOME `está definido corretamente para o seu sistema.

## Recebo um erro de comando não encontrado no Windows ao usar o assistente de credenciais
<a name="troubleshooting-py3"></a>

**Problema:** Depois de atualizar a AWS CLI, as conexões auxiliares de credenciais aos CodeCommit repositórios falham com. `aws codecommit credential-helper $@ get: aws: command not found`

**Causa**: O motivo mais comum para esse erro é que sua versão da AWS CLI foi atualizada para uma versão que usa Python 3. Há um problema conhecido com o pacote MSI. Para verificar se você tem uma das versões afetadas, abra uma linha de comando e execute o seguinte comando: `aws --version`

Se a saída da versão do Python começar com 3, você terá uma versão afetada. Por exemplo: 

```
aws-cli/1.16.62 Python/3.6.2 Darwin/16.7.0 botocore/1.12.52
```

**Correções possíveis:** Para contornar este problema, siga uma das seguintes opções:
+ Instale e configure o AWS CLI no Windows usando Python e pip em vez do MSI. Para obter mais informações, consulte [Instalar Python, pip e the no AWS CLI Windows](https://docs.aws.amazon.com/cli/latest/userguide/install-windows.html#awscli-install-windows-pip).
+ Edite manualmente o arquivo `.gitconfig` para alterar a seção `[credential]` para apontar explicitamente para `aws.cmd` em seu computador local. Por exemplo:

  ```
  [credential]    
      helper = !"\C:\\Program Files\\Amazon\\AWSCLI\\bin\\aws.cmd\" codecommit credential-helper $@ 
      UseHttpPath = true
  ```
+ Execute o comando **git config** para atualizar o arquivo `.gitconfig` para fazer referência explicitamente a `aws.cmd` e atualize manualmente sua variável de ambiente PATH para incluir o caminho do comando, conforme necessário. Por exemplo: 

  ```
  git config --global credential.helper "!aws.cmd codecommit credential-helper $@"
  git config --global credential.UseHttpPath true
  ```

## Sou solicitado a fornecer um nome de usuário quando me conecto a um repositório CodeCommit
<a name="troubleshooting-ae1"></a>

**Problema:** Quando você tenta usar o auxiliar de credenciais para se comunicar com um CodeCommit repositório, aparece uma mensagem solicitando seu nome de usuário.

**Possíveis correções:** configure seu AWS perfil ou verifique se o perfil que você está usando é aquele com o qual você configurou para trabalhar CodeCommit. Para obter mais informações sobre a configuração, consulte [Etapas de configuração para conexões HTTPS com AWS CodeCommit repositórios no Linux, macOS ou Unix com o auxiliar de credenciais AWS CLI](setting-up-https-unixes.md) ou [Etapas de configuração para conexões HTTPS com AWS CodeCommit repositórios no Windows com o auxiliar de AWS CLI credenciais](setting-up-https-windows.md). Para obter mais informações sobre o IAM, chaves de acesso e chaves secretas, consulte [Gerenciamento de chaves de acesso para usuários do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/ManagingCredentials.html) e [Como consigo credenciais?](https://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_Introduction.html#IAM_SecurityCredentials)

## Git para macOS: eu configurei o assistente de credenciais com êxito, mas agora o acesso ao meu repositório é negado (403)
<a name="troubleshooting-macoshttps"></a>

**Problema:** no macOS, o assistente de credenciais parece não acessar ou usar suas credenciais como esperado. Isso pode ser causado por dois problemas diferentes:
+ O AWS CLI está configurado para um Região da AWS diferente daquele em que o repositório existe.
+ O utilitário Keychain Access salvou credenciais já expiradas.

**Possíveis correções:** Para verificar se o AWS CLI está configurado para a região correta, execute o **aws configure** comando e revise as informações exibidas. Se o CodeCommit repositório estiver em um Região da AWS local diferente do mostrado para o AWS CLI, você deverá executar o **aws configure** comando e alterar os valores para aqueles apropriados para aquela região. Para obter mais informações, consulte [Etapa 1: Configuração inicial para CodeCommit](setting-up-https-unixes.md#setting-up-https-unixes-account).

 A versão padrão do Git lançada para OS X e macOS usa o utilitário Acesso às Chaves para salvar as credenciais geradas. Por motivos de segurança, a senha gerada para acessar seu CodeCommit repositório é temporária, portanto, as credenciais armazenadas no chaveiro param de funcionar após cerca de 15 minutos. Se você estiver acessando o Git somente com CodeCommit, tente o seguinte:

1. No terminal, execute o comando **git config** para localizar o arquivo de configuração do Git (`gitconfig`) em que o utilitário Keychain Access está definido. Dependendo do seu sistema local e de suas preferências, você pode ter mais de um arquivo `gitconfig`. 

   ```
   git config -l --show-origin | grep credential
   ```

   Na saída desse comando, procure resultados semelhantes a:

   ```
   file:/path/to/gitconfig  credential.helper=osxkeychain
   ```

   O arquivo listado no início dessa linha é o arquivo de configuração do Git que você deve editar.

1. Para editar o arquivo de configuração do Git, use um editor de texto simples e execute o seguinte comando:

   ```
   nano /usr/local/git/etc/gitconfig
   ```

1. Modifique a configuração usando uma das seguintes estratégias:
   + Comente ou exclua a seção de credenciais que contém `helper = osxkeychain`. Por exemplo:

     ```
     # helper = osxkeychain
     ```
   + Atualize as seções assistente de credenciais `aws credential helper` e `osxkeychain` para ter contexto. Por exemplo, se `osxkeychain` for usado para se autenticar GitHub em:

     ```
     [credential "https://git-codecommit.us-east-1.amazonaws\.com"]
       helper = !aws --profile CodeCommitProfile codecommit credential-helper $@
       UseHttpPath = true
     [credential "https://github.com"]
       helper = osxkeychain
     ```

     Nessa configuração, o Git usará o assistente `osxkeychain` quando o host remoto corresponder a "`https://github.com`" e ao assistente de credenciais quando o host remoto corresponder a "`https://git-codecommit\.us-east-1\.amazonaws.com`”.
   + Inclua um assistente de string vazio antes do assistente de credenciais. Por exemplo, para não usar o `osxkeychain` auxiliar ao usar o perfil nomeado *CodeCommitProfile* com a CLI:

     ```
     [credential]
       helper =
       helper = !aws --profile CodeCommitProfile codecommit credential-helper $@
       UseHttpPath = true
     ```
**dica**  
Você também pode configurar a linha após a linha auxiliar de string vazia para não corresponder CodeCommit se quiser excluir todos os perfis:  

     ```
     helper = !aws codecommit credential-helper $@
     ```

   Como alternativa, se você deseja continuar a usar o utilitário Keychain Access para armazenar em cache as credenciais para outros repositórios Git, modifique o cabeçalho em vez de comentar a linha. Por exemplo, para permitir credenciais em cache GitHub, você pode modificar o cabeçalho da seguinte forma:

   ```
   [credential "https://github.com"]
      helper = osxkeychain
   ```

Se você estiver acessando outros repositórios com o Git, você pode configurar o utilitário Keychain Access para que ele não forneça credenciais para seus repositórios. CodeCommit Como configurar o utilitário Acesso às Chaves:

1. Abra o utilitário Acesso às Chaves. (Você pode usar o Finder para localizá-lo.)

1. Pesquise `git-codecommit.us-east-2.amazonaws.com` e *us-east-2* substitua pelo Região da AWS local onde o repositório existe. Destaque a linha, abra o menu de contexto (clique com o botão direito do mouse) e escolha **Obter Informações**.

1. Escolha a guia **Controle de Acesso**.

1. Em **Confirmar antes de permitir o acesso**, escolha `git-credential-osxkeychain` e, em seguida, selecione o sinal de menos para removê-la da lista.
**nota**  
Após remover `git-credential-osxkeychain` da lista, você verá uma caixa de diálogo sempre que executar um comando do Git. Escolha **Negar** para continuar. Se você achar os pop-ups um incômodo, aqui estão algumas alternativas:  
Conecte-se CodeCommit usando credenciais SSH ou Git em vez do auxiliar de credenciais com HTTPS. Para obter mais informações, consulte [Para conexões SSH no Linux, macOS ou Unix](setting-up-ssh-unixes.md) e [Configuração para usuários de HTTPS usando credenciais do Git](setting-up-gc.md). 
No utilitário Acesso às Chaves, na guia **Controle de Acesso**, para `git-codecommit.us-east-2.amazonaws.com`, escolha a opção **Permitir que todos os aplicativos acessem este item (o acesso a esse item não é restrito)**. Isso impedirá os pop-ups, mas as credenciais expirarão eventualmente (em média, leva cerca de 15 minutos) e você verá uma mensagem de erro 403. Quando isso ocorrer, você deverá excluir o item do conjunto de chaves para restaurar a funcionalidade.
Instalar uma versão do Git que não utilize o conjunto de chaves por padrão; ou
Considere uma solução de scripts para excluir o item do conjunto de chaves. Para visualizar uma amostra gerada pela comunidade de uma solução por scripts, consulte [Mac OS X Script to Periodically Delete Cached Credentials in the OS X Certificate Store](integrations.md#integrations-community-code) em [Integrações de produtos e serviços](integrations.md).

Se quiser que o Git pare de usar o utilitário Keychain Access totalmente, você poderá configurar o Git para parar de usar osxkeychain como o assistente de credenciais. Por exemplo, se você abrir um terminal e executar o comando `git config --system credential.helper` e ele retornar `osxkeychain`, o Git estará configurado para usar o utilitário Keychain Access. Você poderá alterar isso executando o seguinte comando:

```
git config --system --unset credential.helper
```

Lembre-se de que executar esse comando com a `--system` opção altera o comportamento do Git em todo o sistema para todos os usuários, e isso pode ter consequências não intencionais para outros usuários ou para outros repositórios se você estiver usando outros serviços de repositório além do. CodeCommit Lembre-se também de que essa abordagem pode exigir o uso de `sudo` e que sua conta pode não ter permissões suficientes do sistema para aplicar essa alteração. Verifique se o comando foi aplicado com êxito executando o comando `git config --system credential.helper` novamente. Para obter mais informações, consulte [Personalização do Git – Configuração do Git](https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration) e [este artigo no Stack Overflow](https://stackoverflow.com/questions/16052602/disable-git-credential-osxkeychain).

## Git para Windows: eu instalei o Git para Windows, mas o acesso ao meu repositório é negado (403)
<a name="troubleshooting-windowshttps"></a>

**Problema:** no Windows, o assistente de credenciais parece não acessar ou usar suas credenciais como esperado. Isso pode ser causado por diferentes problemas:
+ O AWS CLI está configurado para um Região da AWS diferente daquele em que o repositório existe.
+ Por padrão, o Git para Windows instala um utilitário Git Credential Manager que não é compatível com CodeCommit conexões que usam o auxiliar de credenciais. AWS Quando instalado, ele faz com que as conexões com o repositório falhem, mesmo que o auxiliar de credenciais tenha sido instalado com o AWS CLI e configurado para conexões com o. CodeCommit
+ Algumas versões do Git para Windows podem não ser totalmente compatíveis com a [RFC 2617](https://tools.ietf.org/html/rfc2617#page-5) e a [RFC 4559](https://tools.ietf.org/html/rfc4559#page-2), o que pode causar problemas com as credenciais do Git e o assistente de credenciais incluído com a AWS CLI. Para obter mais informações, consulte [Version 2.11.0(3) does not ask for username/password](https://github.com/git-for-windows/git/issues/1034).

**Correções possíveis:** 
+ Se você estiver tentando usar o auxiliar de credenciais incluído no AWS CLI, considere conectar-se com as credenciais do Git por HTTPS em vez de usar o auxiliar de credenciais. As credenciais do Git configuradas para seu usuário do IAM são compatíveis com o Git Credential Manager para Windows, diferente do assistente de credenciais do AWS CodeCommit. Para obter mais informações, consulte [Para usuários de HTTPS usando credenciais do Git](setting-up-gc.md). 

  Se você quiser usar o auxiliar de credenciais, para verificar se ele AWS CLI está configurado corretamente Região da AWS, execute o **aws configure** comando e revise as informações exibidas. Se o CodeCommit repositório estiver em um Região da AWS local diferente do mostrado para o AWS CLI, você deverá executar o **aws configure** comando e alterar os valores para aqueles apropriados para aquela região. Para obter mais informações, consulte [Etapa 1: Configuração inicial para CodeCommit](setting-up-https-windows.md#setting-up-https-windows-account).
+ Se possível, desinstale e reinstale o Git para Windows. Ao instalar o Git para Windows, desmarque a caixa de seleção com a opção de instalar o utilitário Git Credential Manager. Esse gerenciador de credenciais não é compatível com o assistente de credenciais do AWS CodeCommit. Se você instalou o Git Credential Manager ou outro utilitário de gerenciamento de credenciais e não quer desinstalá-lo, pode modificar o arquivo `.gitconfig` e adicionar gerenciamentos de credenciais para o CodeCommit:

  1. Abra o **Painel de Controle**, escolha **Gerenciador de Credenciais** e remova todas as credenciais armazenadas para. CodeCommit

  1. Abra o arquivo `.gitconfig` em um editor de texto simples, como o Bloco de Notas.
**nota**  
Se você trabalha com vários perfis do Git, talvez tenha arquivos `.gitconfig` locais e globais. Certifique-se de editar o arquivo apropriado.

  1. Adicione a seguinte seção ao arquivo `.gitconfig`:

     ```
     [credential "https://git-codecommit.*.amazonaws.com"]
         helper = !aws codecommit credential-helper $@ 
         UseHttpPath = true
     ```

  1. Salve o arquivo e abra uma nova sessão de linha de comando antes de tentar se conectar novamente.

  Você também pode usar essa abordagem se quiser usar o auxiliar de credenciais para AWS CodeCommit se conectar a CodeCommit repositórios e outro sistema de gerenciamento de credenciais ao se conectar a outros repositórios hospedados, como repositórios. GitHub 

  Para restaurar o assistente de credenciais usado como padrão, você pode usar a opção **--system** em vez de **--global** ou **--local** ao executar o comando **git config**.
+ Se você está usando credenciais do Git em um computador Windows, pode tentar solucionar quaisquer problemas de não conformidade do RFC incluindo seu nome de usuário das credenciais do Git como parte da cadeia de conexão. Por exemplo, para contornar o problema e clonar um repositório chamado *MyDemoRepo* na região Leste dos EUA (Ohio):

  ```
  git clone https://Your-Git-Credential-Username@git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo
  ```
**nota**  
Essa abordagem não funcionará se você tiver um caractere `@` no seu nome de usuário das credenciais do Git. Você deve primeiro codificar o caractere em URL (processo também conhecido como [codificação percentual](https://en.wikipedia.org/wiki/Percent-encoding)).