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