Solución de problemas de conexiones SSH a AWS CodeCommit - AWS CodeCommit

AWS CodeCommit ya no está disponible para nuevos clientes. Los clientes existentes de AWS CodeCommit pueden seguir utilizando el servicio con normalidad. Más información

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Solución de problemas de conexiones SSH a AWS CodeCommit

La siguiente información puede ayudarle a solucionar los problemas más frecuentes al utilizar SSH para conectarse a los repositorios de CodeCommit.

Error de acceso: la clave pública se ha cargado correctamente en IAM pero se ha producido un error de conexión en los sistemas Linux, macOS o Unix

Problema: al intentar conectarse a un punto de conexión de SSH para comunicarse con un repositorio de CodeCommit, la conexión devuelve un error o se rechaza, ya sea al probar la conexión o al clonar un repositorio.

Soluciones posibles: el ID de la clave SSH asignado a su clave pública en IAM podría no estar asociado con su intento de conexión. Es posible que no haya configurado un archivo de configuración, es posible que no tenga acceso al archivo de configuración, es posible que otro ajuste impida la lectura correcta del archivo de configuración, podría haber proporcionado el ID de la clave incorrecto, o es posible que haya proporcionado el ID del usuario de IAM en lugar del ID de la clave.

El ID de la clave de SSH puede encontrarse en el perfil de usuario de IAM de la consola de IAM:

El ID de la clave SSH en la consola de IAM
nota

Si tiene más de un ID de clave de SSH cargado, las claves se enumeran alfabéticamente por ID de clave, no por fecha de subida. Asegúrese de que ha copiado el ID de clave que está asociado a la fecha de carga correcta.

Intente conectarse con el siguiente comando:

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

Si recibe un mensaje de éxito después de confirmar la conexión, significa que el ID de la clave de SSH es válido. Edite su archivo de configuración para asociar sus intentos de conexión a su clave pública en IAM. Si no desea editar el archivo de configuración, puede iniciar todos los intentos de conexión a su repositorio con su ID de la clave de SSH. Por ejemplo, si desea clonar un repositorio denominado MyDemoRepo sin modificar el archivo de configuración para asociar sus intentos de conexión, ejecutaría el siguiente comando:

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

Para obtener más información, consulte Para conexiones SSH en Linux, macOS o Unix.

Error de acceso: la clave pública se carga correctamente en IAM y SSH se prueba correctamente pero la conexión falla en los sistemas Windows

Problema: al intentar utilizar un punto de conexión SSH para clonar o comunicarse con un repositorio de CodeCommit, aparece un mensaje de error con la frase No supported authentication methods available.

Soluciones posibles: el motivo más común de este error es que tenga fijada una variable del entorno del sistema Windows que obliga a Windows a utilizar otro programa cuando intenta usar SSH. Por ejemplo, es posible que tenga que establecer una variable GIT_SSH para que apunte hacia un conjunto de herramientas de PuTTY (plink.exe). Puede tratarse de una configuración heredada o quizá sea necesario instalar uno o varios programas en el equipo. Si está seguro de que no necesita esta variable de entorno, puede eliminarla abriendo las propiedades del sistema.

Para solucionar este problema, abra un emulador de Bash y, a continuación, pruebe su conexión SSH de nuevo, pero esta vez incluyendo GIT_SSH_COMMAND="SSH" como prefijo. Por ejemplo, para clonar un repositorio mediante SSH:

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

Podría surgir un problema similar si su versión de Windows requiere que incluya el ID de la clave de SSH en la cadena de conexión a la hora de conectarse mediante SSH en la línea de comandos de Windows. Pruebe la conexión de nuevo, pero ahora incluyendo el ID de la clave de SSH copiado de IAM en el comando. Por ejemplo:

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

Solicitud de verificación de autenticación: no se puede determinar la autenticidad del host al conectarse a un repositorio de CodeCommit

Problema: al intentar utilizar un punto de conexión SSH para comunicarse con un repositorio de CodeCommit, aparece un mensaje de advertencia con la frase The authenticity of host 'host-name' can't be established..

Soluciones posibles: puede que no haya configurado correctamente sus credenciales. Siga las instrucciones de Para conexiones SSH en Linux, macOS o Unix o Para conexiones SSH en Windows.

Si ha seguido los pasos y el problema persiste, es posible que alguien esté intentando llevar a cabo un ataque MITM (man-in-the-middle). Cuando vea el siguiente mensaje, escriba no y, a continuación, pulse Intro.

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

Asegúrese de que la clave pública y la huella digital para conexiones de CodeCommit coincidan con las documentadas en los temas de configuración de SSH antes de continuar con la conexión.

Huellas digitales públicas para CodeCommit
Servidor Tipo hash criptográfico Huella 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

Error de IAM: "Formato no válido" al intentar añadir una clave pública en IAM

Problema: en IAM, al intentar configurar el uso de SSH con CodeCommit, aparece un mensaje de error que contiene la frase Invalid format cuando intenta añadir su clave pública.

Posibles soluciones: IAM requiere que la clave pública esté codificada en formato ssh-rsa o PEM Solo acepta claves públicas en formato OpenSSH y tiene requisitos adicionales, tal y como se especifica en la sección Uso de claves SSH con CodeCommit de la Guía del usuario de IAM. Si proporciona su clave pública en otro formato, o si la clave no contiene el número necesario de bits, aparece este error.

  • Cuando copió la clave pública SSH, es posible que su sistema operativo haya introducido saltos de línea. Asegúrese de que no haya saltos de línea en la clave pública que agregue a IAM.

  • Algunos sistemas operativos Windows no utilizan el formato OpenSSH. Para generar un par de claves y copiar el formato de OpenSSH exigido por IAM, consulte Paso 3: Configurar las claves públicas y privadas para Git y CodeCommit.

Para obtener más información acerca de los requisitos para las claves SSH en IAM, consulte Usar claves SSH con CodeCommit en la Guía del usuario de IAM.

Necesito acceder a los repositorios de CodeCommit en varias cuentas de Amazon Web Services con credenciales SSH

Problema: quiero configurar el acceso SSH a los repositorios de CodeCommit en más de una cuenta de Amazon Web Services.

Posibles soluciones: puede crear pares de claves SSH públicos/privadas únicos para cada cuenta de Amazon Web Services y configurar IAM con cada clave. A continuación, puede configurar su archivo ~/.ssh/config con información sobre cada usuario de IAM asociado a la clave pública. Por ejemplo:

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.

En esta configuración, podrá sustituir 'git-codecommit.us-east-1.amazonaws.com' por 'codecommit-2'. Por ejemplo, para clonar un repositorio en su segunda cuenta de Amazon Web Services:

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

Para configurar un control remoto para su repositorio, ejecute git remote add. Por ejemplo:

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

Para ver más ejemplos, consulte esta publicación del foro y esta contribución en GitHub.

Git en Windows: el emulador de Bash o la línea de comandos se congela al intentar conectar mediante SSH

Problema: después de configurar el acceso de SSH para Windows y confirmar la conectividad a la línea de comandos o el terminal, aparece un mensaje en que se indica que la clave de host del servidor no está almacenada en caché en el registro y que la solicitud para almacenar la clave en la memoria caché está congelada (no acepta ninguna entrada y/n/return) cuando intenta usar comandos, como git pull, git push o git clone en el símbolo del sistema o el emulador de Bash.

Soluciones posibles: la causa más común de este error es que su entorno de Git se ha configurado para utilizar algo distinto de OpenSSH para la autenticación (probablemente PuTTY). Se han notificado problemas con el almacenamiento en caché de claves en algunas configuraciones. Para solucionar este problema, pruebe uno de los siguientes pasos:

  • Abra un emulador de Bash y añada el parámetro GIT_SSH_COMMAND="ssh" delante del comando de Git. Por ejemplo, si intenta enviar a un repositorio, en lugar de escribir git push, escriba:

    GIT_SSH_COMMAND="ssh" git push
  • Si tiene instalado PuTTY, abra PuTTY y en Nombre de host (o dirección IP) introduzca el punto de conexión de CodeCommit al que desea conectarse (por ejemplo, git-codecommit.us-east-2.amazonaws.com). Elija Abrir. Cuando PuTTY Security Alert se lo solicite, elija Yes (Sí) para almacenar la clave en caché de forma permanente.

  • Renombre o elimine la variable de entorno GIT_SSH si ya no la utiliza. A continuación, abra una nueva sesión del símbolo del sistema o del emulador de Bash y pruebe el comando de nuevo.

Para otras soluciones, consulte Git clone/pull continually freezing at Store key in cache en Stack Overflow.

El formato de clave pública requiere una especificación en algunas distribuciones de Linux

Problema: al intentar configurar un key pair público-privado, aparece un error.

Posibles soluciones: algunas distribuciones de Linux requieren una línea de configuración adicional en el archivo ~/.ssh/config que especifique los tipos de claves públicas aceptados. Para obtener más información, consulte la documentación para su distribución sobre PubkeyAcceptedKeyTypes.

Error de acceso: SSH pública denegada al conectarse a un repositorio de CodeCommit

Problema: al intentar utilizar un punto de conexión SSH para comunicarse con un repositorio de CodeCommit, aparece un mensaje de error con la frase Error: public key denied.

Posibles soluciones: El motivo más común de este error es que no ha completado la configuración de las conexiones SSH. Configure un par de claves SSH públicas y privadas y, a continuación, asocie la clave pública con su usuario de IAM. Para obtener más información sobre la configuración de SSH, consulte Para conexiones SSH en Linux, macOS o Unix y Para conexiones SSH en Windows.