Buenos días.
Estoy haciendo pruebas con GIT para instaurar en el trabajo GIT. Lo ideal sería GITHUB, pero es una opción que no me termina de convencer por tema de no tener los datos fuera del servidor que tenemos (sería la última opción, que conste).
Las pruebas las hago con CentOS como servidor y cliente como Windows XP (no puedo poner otro sistema) en una máquina virtual VirtualBox.
Bien, he hecho el repositorio sin problemas. He añadido archivos, jugueteado con pull y push y perfecto. Pero hay un par de dudas que me traen de cabeza que no sé cómo resolverlas:
1º El no pedir password cada vez que subo algún cambio al repositorio (sea clonar o no). Es un coñazo tener que ir escribiéndolo, y eso que me he hecho un keygen con SSH y tampoco funciona, me sigue pidiendo el password.
Esto es lo que he hecho.
Creado el usuario git y su carpeta en /home/git/projects/mi_proyecto.git y su git --bare init
Servidor CentOS
mkdir /home/git/clients
mkdir /home/git/.ssh
chmod 700 .ssh
cd .ssh
touch authorized_keys
chmod 600 authorized_keys
Windows XP. No está en Dominio, sino que es un usuario local llamado Kurace con permisos administrador
Pongo el GIT Bash y tecleo esto:
ssh-keygen -t rsa
Me creo la clave con el nombre de Kurace y muevo la clave pública en el servidor así.
scp kurace.pub git@ip_maquina_git:~/clients/kurace.pub
Servidor CentOS
cat /home/git/clients/kurace.pub >> .ssh/authorized_keys
Los pasos los he seguido escrupulosamente y se supone que debería funcionar y no lo hace. No sé si falta alguna cosa o qué...
2º El cliente GIT Gui me funciona para clonar repositorios, añadir ficheros, hacer cambios, etc. Pero me parece el GUI "feote" (no para mi que yo lo haría vía comando, sino para otra persona que no querrá complicarse, le conozco bien). Así que he probado Git Extensions y SmartGit y ninguno me permite clonar el repositorio de CentOS.
En GIT GUI selecciono "Cloning Existing Repository". Y los campos los pongo así:
Source Location: git@ip_maquina_git:/home/git/projects/mi_proyecto.git
Target Directory: C:\miProyectoGIT
Sin problemas, lo hago perfectamente. Me pide varias veces la contraseña (un poco coñazo, pero en fin) y listo.
Pero no me funciona en Git Extensions ni tampoco en SmartGIT.
Git ExtensionsSelecciono "Clonar repositorio" y pongo los siguientes datos.
Repositorio a clonar: git@ip_maquina_git:/home/git/projects/mi_proyecto.git
Destino: C:\miProyectoGIT
Subdirectorio a crear: no pongo nada
Rama: no pongo nada
Tipo de repositorio, marco la opción "repositorio personal". También marco la opción "Inicializar todos los submódulos".
Selecciono Clonar y me da este error:
"C:\Archivos de programa\Git\bin\git.exe" clone -v --recurse-submodules --progress "ip_maquina_git:/home/git/projects/mi_proyecto.git" "miProyectoGIT"
Cloning into 'miProyectoGIT'...
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Done
SmartGitEn Repository, selecciono clone. Selecciono "Remote Git o SVN repository".
Pongo esto:
Se queda en Checking connection to repository...me pide abortar porque no puede continuar.
¿Qué puede ser? Siento el tocho
![más risas [+risas]](/images/smilies/nuevos/risa_ani3.gif)
.
Muchas gracias y un saludo.