Cuestiones GIT binomio CentOS y Windows XP

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 Extensions

Selecciono "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


SmartGit

En Repository, selecciono clone. Selecciono "Remote Git o SVN repository".

Pongo esto:

Repository URL: ssh://git@ip_maquina_git:/home/git/proj ... oyecto.git (lo he probado quitando el ssh también)


Se queda en Checking connection to repository...me pide abortar porque no puede continuar.

¿Qué puede ser? Siento el tocho [+risas] [+risas] .

Muchas gracias y un saludo.
Yo de momento lo unico que veo a primera vista es este comando de la primera pregunta :
cat /home/git/clients/username_rsa.pub >> .ssh/authorized_keys
En tu caso deberia ser
cat /home/git/clients/kurace.pub >> .ssh/authorized_keys

Pero imagino que ha sido un error al hacer el post no cuando lo has hecho realmente pero para asegurar .

Aparte de eso yo lo veo bien el tipico error son los permissos peor estan bien, peor tampoco soy un experto.

Sobre las interfaces git que comentas no tengo ni idea... yo solo tiro de git clone para pillar y compialr algunas cositas de github y poco más :P
Kurace escribió: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).

Precisamente por eso, el silo github.com no tiene nada de ideal.

Sin embargo, lo que si puedes hacer, es montarte tu mismo un servicio de Gitorious en TU servidor, y bajo tu control, que para algo es software libre.
Le has indicado la clave privada en el SmartGit antes de empezar el clone? Algunos usan smartgit en el curro y con git@host:proyecto.git va perfecto. El único detalle es que no administramos los repositorios a mano, sino que está montado gitolite para manejar usuarios y repositorios. Te recomiendo que le eches un ojo (o mejor aún, monta un gitlab/gitorious).
Buenas,

Yo te recomiendo Gitlab. Lo usamos nosotros en el curro y es lo mas parecido a GitHub que hemos encontrado. A dia de hoy se puede instalar/Actualizar via RPM o DEB y es super sencillo de gestionar e utilizar. Nosotros lo tenemos montado bajo CentOS.

Como cliente para Windows nosotros utilizamos SourceTree de Atlassian.

Echale un vistazo y dinos que te parece ;)

Un saludo
¡Buenas!

Gracias por las sugerencias, creo que miraré el binomio Gitorious y Gitlab a ver qué tal.

¡Saludos!
5 respuestas