Solução de problemas com conexões SSH com o AWS CodeCommit - AWS CodeCommit

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 com conexões SSH com o AWS CodeCommit

As informações a seguir podem ajudar você a solucionar problemas comuns ao usar o SSH para se conectar a repositórios do CodeCommit.

Erro de acesso: o upload da chave pública no IAM foi feito com sucesso, mas a conexão falha nos sistemas Linux. macOS ou Unix

Problema: quando você tenta se conectar a um endpoint SSH para se comunicar com um repositório do CodeCommit, seja para testar a conexão ou clonar um repositório, a conexão falha ou é recusada.

Possíveis correções: o ID da chave SSH atribuído para a chave pública no IAM pode não estar associado à sua tentativa de conexão. Você pode não ter configurado um arquivo de configuração, pode não ter acesso ao arquivo de configuração, outra configuração pode estar impedindo a leitura bem-sucedida do arquivo de configuração, você pode ter fornecido o ID da chave errado, ou pode ter fornecido o ID do usuário do IAM em vez do ID da chave.

O ID da chave SSH pode ser encontrado no console do IAM, no perfil do usuário do IAM:

O ID da chave SSH no console do IAM
nota

Se você tiver feito upload de mais de um ID de chave SSH, as chaves serão listadas em ordem alfabética por ID da chave, não por data de upload. Verifique se você copiou o ID da chave que está associado à data de upload correta.

Experimente testar a conexão com o seguinte comando:

ssh Your-SSH-Key-ID@git-codecommit.us-east-2.amazonaws.com

Se você vir uma mensagem de êxito após confirmar a conexão, o ID da chave SSH será válido. Edite seu arquivo de configuração para associar suas tentativas de conexão com sua chave pública no IAM. Se não quiser editar o arquivo de configuração, você poderá prefaciar todas as tentativas de conexão ao repositório com o ID da chave SSH. Por exemplo, se quisesse clonar um repositório chamado MyDemoRepo sem modificar seu arquivo de configuração para associar suas tentativas de conexão, você executaria o seguinte comando:

git clone ssh://Your-SSH-Key-ID@git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo

Para obter mais informações, consulte Para conexões SSH no Linux, macOS ou Unix.

Erro de acesso: o upload da chave pública no IAM foi feito com sucesso e o SSH foi testado com sucesso, mas a conexão falha em sistemas Windows

Problema: quando você tenta usar um endpoint SSH para se comunicar com um repositório do CodeCommit, aparece uma mensagem de erro com a frase No supported authentication methods available.

Correções possíveis: o motivo o mais comum para esse erro é que você tem uma definição de variável de ambiente do sistema Windows que direciona o Windows a usar outro programa quando você tenta usar o SSH. Por exemplo, você pode ter definido uma variável GIT_SSH para apontar para um dos conjunto de ferramentas PuTTY (plink.exe). Essa pode ser uma configuração legada ou pode ser necessária para outros programas instalados em seu computador. Se tiver certeza de que essa variável de ambiente não é necessária, você poderá removê-la abrindo as propriedades do sistema e excluindo a variável de ambiente.

Para resolver esse problema, abra um emulador de Bash e teste sua conexão SSH novamente, mas inclua GIT_SSH_COMMAND="SSH" como prefixo. Por exemplo, para clonar um repositório usando SSH:

GIT_SSH_COMMAND="ssh" git clone ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo

Um problema semelhante pode ocorrer se sua versão do Windows exigir que você inclua o ID da chave SSH como parte da cadeia de conexão ao se conectar por SSH na linha de comando do Windows. Teste sua conexão novamente, dessa vez incluindo o ID da chave SSH copiado do IAM como parte do comando. Por exemplo:

git clone ssh://Your-SSH-Key-ID@git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo

Desafio de autenticação: a autenticidade do host não pode ser estabelecida ao se conectar a um repositório do CodeCommit

Problema: quando você tenta usar um endpoint SSH para se comunicar com um repositório do CodeCommit, aparece uma mensagem de aviso com a frase The authenticity of host 'host-name' can't be established.

Correções possíveis: suas credenciais podem não ter sido configuradas adequadamente. Siga as instruções em Para conexões SSH no Linux, macOS ou Unix ou em Para conexões SSH no Windows.

Se você seguiu essas etapas e o problema persiste, alguém pode estar tentando um ataque man-in-the-middle. Quando aparecer a seguinte mensagem, digite no e pressione Enter.

Are you sure you want to continue connecting (yes/no)?

Certifique-se de que a impressão digital e a chave pública das conexões do CodeCommit correspondem às documentadas nos tópicos de configuração do SSH antes de prosseguir com a conexão.

Impressões digitais públicas do CodeCommit
de aplicativos Tipo de hash de criptografia Impressão digital
git-codecommit.us-east-2.amazonaws.com MD5 a9:6d:03:ed:08:42:21:be:06:e1:e0:2a:d1:75:31:5e
git-codecommit.us-east-2.amazonaws.com SHA256 3lBlW2g5xn/NA2Ck6dyeJIrQOWvn7n8UEs56fG6ZIzQ
git-codecommit.us-east-1.amazonaws.com MD5 a6:9c:7d:bc:35:f5:d4:5f:8b:ba:6f:c8:bc:d4:83:84
git-codecommit.us-east-1.amazonaws.com SHA256 eLMY1j0DKA4uvDZcl/KgtIayZANwX6t8+8isPtotBoY
git-codecommit.us-west-2.amazonaws.com MD5 a8:68:53:e3:99:ac:6e:d7:04:7e:f7:92:95:77:a9:77
git-codecommit.us-west-2.amazonaws.com SHA256 0pJx9SQpkbPUAHwy58UVIq0IHcyo1fwCpOOuVgcAWPo
git-codecommit.eu-west-1.amazonaws.com MD5 93:42:36:ea:22:1f:f1:0f:20:02:4a:79:ff:ea:12:1d
git-codecommit.eu-west-1.amazonaws.com SHA256 tKjRkOL8dmJyTmSbeSdN1S8F/f0iql3RlvqgTOP1UyQ
git-codecommit.ap-northeast-1.amazonaws.com MD5 8e:a3:f0:80:98:48:1c:5c:6f:59:db:a7:8f:6e:c6:cb
git-codecommit.ap-northeast-1.amazonaws.com SHA256 Xk/WeYD/K/bnBybzhiuu4dWpBJtXPf7E30jHU7se4Ow
git-codecommit.ap-southeast-1.amazonaws.com MD5 65:e5:27:c3:09:68:0d:8e:b7:6d:94:25:80:3e:93:cf
git-codecommit.ap-southeast-1.amazonaws.com SHA256 ZIsVa7OVzxrTIf+Rk4UbhPv6Es22mSB3uTBojfPXIno
git-codecommit.ap-southeast-2.amazonaws.com MD5 7b:d2:c1:24:e6:91:a5:7b:fa:c1:0c:35:95:87:da:a0
git-codecommit.ap-southeast-2.amazonaws.com SHA256 nYp+gHas80HY3DqbP4yanCDFhqDVjseefVbHEXqH2Ec
git-codecommit.ap-southeast-3.amazonaws.com MD5 64:d9:e0:53:19:4f:a8:91:9a:c3:53:22:a6:a8:ed:a6
git-codecommit.ap-southeast-3.amazonaws.com SHA256 ATdkGSFhpqIu7RqUVT/1RZo6MLxxxUW9NoDVMbAc/6g
git-codecommit.me-central-1.amazonaws.com MD5 bd:fa:e2:f9:05:84:d6:39:6f:bc:d6:8d:fe:de:61:76
git-codecommit.me-central-1.amazonaws.com SHA256 grceUDWubo4MzG1NoaKZKUfrgPvfN3ijliOnQr1lTZA
git-codecommit.eu-central-1.amazonaws.com MD5 74:5a:e8:02:fc:b2:9c:06:10:b4:78:84:65:94:22:2d
git-codecommit.eu-central-1.amazonaws.com SHA256 MwGrkiEki8QkkBtlAgXbYt0hoZYBnZF62VY5RzGJEUY
git-codecommit.ap-northeast-2.amazonaws.com MD5 9f:68:48:9b:5f:fc:96:69:39:45:58:87:95:b3:69:ed
git-codecommit.ap-northeast-2.amazonaws.com SHA256 eegAPQrWY9YsYo9ZHIKOmxetfXBHzAZd8Eya53Qcwko
git-codecommit.sa-east-1.amazonaws.com MD5 74:99:9d:ff:2b:ef:63:c6:4b:b4:6a:7f:62:c5:4b:51
git-codecommit.sa-east-1.amazonaws.com SHA256 kW+VKB0jpRaG/ZbXkgbtMQbKgEDK7JnISV3SVoyCmzU
git-codecommit.us-west-1.amazonaws.com MD5 3b:76:18:83:13:2c:f8:eb:e9:a3:d0:51:10:32:e7:d1
git-codecommit.us-west-1.amazonaws.com SHA256 gzauWTWXDK2u5KuMMi5vbKTmfyerdIwgSbzYBODLpzg
git-codecommit.eu-west-2.amazonaws.com MD5 a5:65:a6:b1:84:02:b1:95:43:f9:0e:de:dd:ed:61:d3
git-codecommit.eu-west-2.amazonaws.com SHA256 r0Rwz5k/IHp/QyrRnfiM9j02D5UEqMbtFNTuDG2hNbs
git-codecommit.ap-south-1.amazonaws.com MD5 da:41:1e:07:3b:9e:76:a0:c5:1e:64:88:03:69:86:21
git-codecommit.ap-south-1.amazonaws.com SHA256 hUKwnTj7+Xpx4Kddb6p45j4RazIJ4IhAMD8k29itOfE
git-codecommit.ap-south-2.amazonaws.com MD5 bc:cc:9f:15:f8:f3:58:a2:68:65:21:e2:23:71:8d:ce
git-codecommit.ap-south-2.amazonaws.com SHA256 Xe0CyZEOvgR5Xa2YUGqf+jn8/Ut7l7nX/CmslSFNEig
git-codecommit.ca-central-1.amazonaws.com MD5 9f:7c:a2:2f:8c:b5:74:fd:ab:b7:e1:fd:af:46:ed:23
git-codecommit.ca-central-1.amazonaws.com SHA256 Qz5puafQdANVprLlj6r0Qyh4lCNsF6ob61dGcPtFS7w
git-codecommit.eu-west-3.amazonaws.com MD5 1b:7f:97:dd:d7:76:8a:32:2c:bd:2c:7b:33:74:6a:76
git-codecommit.eu-west-3.amazonaws.com SHA256 uw7c2FL564jVoFgtc+ikzILnKBsZz7t9+CFdSJjKbLI
git-codecommit.us-gov-west-1.amazonaws.com MD5 9f:6c:19:3b:88:cd:e8:88:1b:9c:98:6a:95:31:8a:69
git-codecommit.us-gov-west-1.amazonaws.com SHA256 djXQoSIFcg8vHe0KVH1xW/gOF9X37tWTqu4Hkng75x4
git-codecommit.us-gov-east-1.amazonaws.com MD5 00:8d:b5:55:6f:05:78:05:ed:ea:cb:3f:e6:f0:62:f2
git-codecommit.us-gov-east-1.amazonaws.com SHA256 fVb+R0z7qW7minenW+rUpAABRCRBTCzmETAJEQrg98
git-codecommit.eu-north-1.amazonaws.com MD5 8e:53:d8:59:35:88:82:fd:73:4b:60:8a:50:70:38:f4
git-codecommit.eu-north-1.amazonaws.com SHA256 b6KSK7xKq+V8jl7iuAcjqXsG7zkqoUZZmmhYYFBq1wQ
git-codecommit.me-south-1.amazonaws.com MD5 0e:39:28:56:d5:41:e6:8d:fa:81:45:37:fb:f3:cd:f7
git-codecommit.me-south-1.amazonaws.com SHA256 O+NToCGgjrHekiBuOl0ad7ROGEsz+DBLXOd/c9wc0JU
git-codecommit.ap-east-1.amazonaws.com MD5 a8:00:3d:24:52:9d:61:0e:f6:e3:88:c8:96:01:1c:fe
git-codecommit.ap-east-1.amazonaws.com SHA256 LafadYwUYW8hONoTRpojbjNs9IRnbEwHtezD3aAIBX0
git-codecommit.cn-north-1.amazonaws.com.cn MD5 11:7e:2d:74:9e:3b:94:a2:69:14:75:6f:5e:22:3b:b3
git-codecommit.cn-north-1.amazonaws.com.cn SHA256 IYUXxH2OpTDsyYMLIp+JY8CTLS4UX+ZC5JVZXPRaxc8
git-codecommit.cn-northwest-1.amazonaws.com.cn MD5 2e:a7:fb:4c:33:ac:6c:f9:aa:f2:bc:fb:0a:7b:1e:b6
git-codecommit.cn-northwest-1.amazonaws.com.cn SHA256 wqjd6eHd0+mOBx+dCNuL0omUoCNjaDtZiEpWj5TmCfQ
git-codecommit.eu-south-1.amazonaws.com MD5 b9:f6:5d:e2:48:92:3f:a9:37:1e:c4:d0:32:0e:fb:11
git-codecommit.eu-south-1.amazonaws.com SHA256 lyXrWbCg3uQmJrl1XxB/ASR7ugW1Ysf5yzYOJbudHsI
git-codecommit.ap-northeast-3.amazonaws.com MD5 25:17:40:da:b9:d4:18:c3:b6:b3:fb:ed:1c:20:fe:29
git-codecommit.ap-northeast-3.amazonaws.com SHA256 2B815B9F0AvwLnRxSVxUz4kDYmtEQUGGdQYP8OQLXhA
git-codecommit.af-south-1.amazonaws.com MD5 21:a0:ba:d7:c1:d1:b5:39:98:8d:4d:7c:96:f5:ca:29
git-codecommit.af-south-1.amazonaws.com SHA256 C34ji3x/cnsDZjUpyNGXdE5pjHYimqJrQZ3leTgqJHM
git-codecommit.il-central-1.amazonaws.com MD5 04:74:89:16:98:7a:61:b1:69:46:42:3c:d1:b4:ac:a9
git-codecommit.il-central-1.amazonaws.com SHA256 uFxhp51kUWhleTLeYbxQVYm4RnNLNZ5Dbdm1cgdSl/8

Erro do IAM: "Formato inválido" ao tentar adicionar uma chave pública ao IAM

Problema: no IAM, ao tentar configurar para usar SSH com o CodeCommit, aparece uma mensagem de erro com o enunciado Invalid format quando você tenta adicionar sua chave pública.

Possíveis correções: o IAM requer que a chave pública seja codificada no formato ssh-rsa ou PEM. Ele aceita chaves públicas somente no formato OpenSSH e tem requisitos adicionais, conforme especificado em Usar chaves SSH com o CodeCommit no Guia do usuário do IAM. Se fornecer sua chave pública em outro formato ou se ela não tiver o número necessário de bits, você verá esse erro.

  • Quando você copiou a chave pública SSH, o sistema operacional pode ter introduzido quebras de linha. Verifique se não há quebras de linha na chave pública adicionada ao IAM.

  • Alguns sistemas operacionais Windows não usam o formato OpenSSH. Para gerar um par de chaves e copiar o formato OpenSSH exigido pelo IAM, consulte Etapa 3: configurar as chaves pública e privada para o Git e o CodeCommit.

Para obter mais informações sobre os requisitos para chaves SSH no IAM, consulte Usar chaves SSH com o CodeCommit no Guia do usuário do IAM.

Preciso acessar os repositórios do CodeCommit em várias contas da Amazon Web Services com credenciais SSH

Problema: quero configurar o acesso SSH aos repositórios do CodeCommit em mais de uma conta da Amazon Web Services.

Possíveis correções: você pode criar pares exclusivos de chaves SSH pública/privada para cada conta da Amazon Web Services e configurar o IAM com cada chave. Em seguida, você pode configurar seu arquivo ~/.ssh/config com informações sobre cada ID de usuário do IAM associado à chave pública. Por exemplo:

Host codecommit-1 Hostname git-codecommit.us-east-1.amazonaws.com User SSH-KEY-ID-1 # This is the SSH Key ID you copied from IAM in Amazon Web Services account 1 (for example, APKAEIBAERJR2EXAMPLE1). IdentityFile ~/.ssh/codecommit_rsa # This is the path to the associated public key file, such as id_rsa. We advise creating CodeCommit specific _rsa files. Host codecommit-2 Hostname git-codecommit.us-east-1.amazonaws.com User SSH-KEY-ID-2 # This is the SSH Key ID you copied from IAM in Amazon Web Services account 2 (for example, APKAEIBAERJR2EXAMPLE2). IdentityFile ~/.ssh/codecommit_2_rsa # This is the path to the other associated public key file. We advise creating CodeCommit specific _rsa files.

Nessa configuração, você poderá substituir 'git-codecommit.us-east-1.amazonaws.com' por 'codecommit-2'. Por exemplo, para clonar um repositório em sua segunda conta da Amazon Web Services:

git clone ssh://codecommit-2/v1/repos/YourRepositoryName

Para configurar um remoto para seu repositório, execute git remote add. Por exemplo:

git remote add origin ssh://codecommit-2/v1/repos/YourRepositoryName

Para obter mais exemplos, consulte essa postagem no fórum e essa contribuição no GitHub.

Git no Windows: o emulador de Bash ou a linha de comando congelam durante a tentativa de se conectar usando SSH

Problema: depois de configurar o acesso SSH para Windows e confirmar a conectividade na linha de comando ou no terminal, aparece uma mensagem de que a chave host do servidor não está em cache no registro e a solicitação para armazenar a chave em cache está congelada (não aceita a entrada y/n/return) quando você tenta usar comandos como git pull, git push ou git clone no prompt de comando ou no emulador de Bash.

Correções possíveis: a causa mais comum para esse erro é que o ambiente do Git está configurado para usar algo que não o OpenSSH para autenticação (provavelmente o PuTTY). É sabido que isso causa problemas com o armazenamento em cache de chaves em algumas configurações. Por corrigir esse problema, tente o seguinte:

  • Abra um emulador de Bash e adicione o parâmetro GIT_SSH_COMMAND="ssh" antes do comando do Git. Por exemplo, se você está tentando enviar um repositório por push, em vez de digitar git push, digite:

    GIT_SSH_COMMAND="ssh" git push
  • Se você tem o PuTTY instalado, abra-o e, em Nome do host (ou endereço IP), insira o endpoint do CodeCommit que deseja alcançar (por exemplo, git-codecommit.us-east-2.amazonaws.com). Escolha Abrir. Quando solicitado pelo alerta de segurança do PuTTY, selecione Yes (Sim) para armazenar a chave em cache permanentemente.

  • Renomeie ou exclua a variável de ambiente GIT_SSH se não a estiver mais utilizando. Em seguida, abra um novo prompt de comando ou uma sessão do emulador de Bash e teste o comando novamente.

Para outras soluções, consulte Git clone/pull continually freezing at Store key in cache no Stack Overflow.

O formato de chave pública requer especificação em algumas distribuições do Linux

Problema: ao tentar configurar um par de chaves público-privado, você recebe um erro.

Possíveis correções: algumas distribuições do Linux exigem uma linha adicional de configuração no arquivo ~/.ssh/config que especifica os tipos aceitos de chaves públicas. Para obter mais informações, consulte a documentação para sua distribuição sobre PubkeyAcceptedKeyTypes.

Erro de acesso: chave pública SSH negada ao se conectar a um repositório do CodeCommit

Problema: quando você tenta usar um endpoint SSH para se comunicar com um repositório do CodeCommit, aparece uma mensagem de erro com a frase Error: public key denied.

Correções possíveis: o motivo mais comum para esse erro é que você não concluiu a configuração para conexões SSH. Configure um par de chaves SSH pública e privada e, em seguida, associe a chave pública ao seu usuário do IAM. Para obter mais informações sobre a configuração de SSH, consulte Para conexões SSH no Linux, macOS ou Unix e Para conexões SSH no Windows.