codecommit aws git amazon-ec2 config public-key

codecommit - aws git ssh



.ssh config con amazon ec2 y git (2)

Tengo un problema extraño con la clonación de un repositorio git de un servidor amazon ec2. Funciona sin problemas en una de mis computadoras con ubuntu 12.04, mientras que en otra usando 12.10 me da un error:

ssh: Could not resolve hostname ec2server: Name or service not known fatal: The remote end hung up unexpectedly

Es como si no reconociera mi archivo de configuración. Uso el siguiente comando git para clonar:

sudo git clone ec2server:/var/www/project.git

o

sudo git clone ec2xxx.compute-1.amazonaws.com:/var/www/project.git

Los dos archivos de configuración son idénticos en ambas computadoras, dentro de ~. / Ssh con el siguiente contenido:

Host ec2server Hostname ec2XXX.compute-1.amazonaws.com User ubuntu IdentityFile ~/.ssh/mykey.pem

Si sustituyo el ec2server con la dirección real, aparece el siguiente error:

Cloning into ''project''... Permission denied (publickey). fatal: The remote end hung up unexpectedly

Gracias por adelantado.


Recientemente tuve que volver a instalar el sistema que tenía la configuración de trabajo y no he logrado replicarlo, por lo que no se trata de la versión de Linux (muy probable). Lo que logré hacer fue que pude utilizar el script original mencionado para clonar el repositorio en mi directorio personal. Aquí tomó el nombre correctamente, pero si navegué en / var / www, lo que estaba haciendo antes, simplemente me dio el mismo error: podría ec2server no encontrado .... Entonces me imagino que el problema tiene que hacer algo con la combinación de permisos + comandos. Si alguien puede encontrar la manera de hacerlo funcionar, marcaré su respuesta como la correcta, hasta entonces estoy marcando la mía como la correcta, ya que es la más cercana a la correcta.

ACTUALIZAR

Descubrí cuál era el problema: tuve que cambiar el permiso en la carpeta / var / www para poder clonar en ese directorio. Ahora es 777 (se usa solo para dev en una máquina local).


Por lo general, es un problema de permiso.
El chmod en los directorios principales de su archivo de configuración puede ser diferente entre sus dos computadoras.
(y no estoy hablando solo del directorio principal inmediato .ssh , sino también de todos los directorios principales)

Consulte " Autenticación SSH de Git ", pero también sepa que si alguno de los directorios principales puede escribirse para grupo o mundo, ssh no funcionará.

Tenga en cuenta también que su segundo comando no es correcto, y debería ser:

git clone [email protected]/var/www/project.git

no '' : '' (a '' : '' significa usar un archivo de config , con una sintaxis similar a scp )

solo puede funcionar si tiene ~/.ssh/id_rsa y ~/.ssh/id_rsa.pub .
Si tiene mykey.pem, necesita un archivo de config para ssh para saber dónde están sus claves públicas y privadas, lo que significa que solo esto puede funcionar:

git clone ec2server:/var/www/project.git

Otro chack (después de este hilo y este foro ) es comprobar si hay algún problema de DNS / DHCP (un poco como " Trabajar con git detrás de un DNS dinámico ").

Host ec2server Hostname 1xx.xxx.xxx.xxx # ip address of ec2XXX.compute-1.amazonaws.com User ubuntu IdentityFile ~/.ssh/mykey.pem