Para hacer cambios en los repositorios de gna (svn commit, por ejemplo) hace falta que creemos un par clave pública/clave privada rsa para la autenticación.

Para ello, lo primero que tenemos que hacer es generar nuestra clave:

1
ssh-keygen -t rsa

ES IMPORTANTE QUE USEMOS UNA PASSPHRASE. ESTA PASSPHRASE SE USARÁ COMO CONTRASEÑA DE LA CLAVE, Y POR LO TANTO EN EL ACCESO AL REPOSITORIO

De este modo, se crea un par de claves en $(home)/.ssh/ :

  • id_rsa – Clave privada (ojo, esta no se comparte jamás)
  • id_rsa.pub – Clave pública

Si imprimimos el contenido de la clave pública:

1
2
brue@doped[12:38:11]~/.ssh$ cat id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAqkoTVAWxq7/6TwSZVBHQSnWoAhUSlPNJaDIQ6qXjz/wDfb3VfLo7aN7T3v5QA/DpiHvsNYFbVU4+32FSh57pxUYdflgPeLTWM3414ZT7i8h4EC7sOGV9GRvvRgFtnd5LJLZXtGZPyEjal8bBzjSytMi69cojwsRXHeoR9H8gLvEXU8r37zyIS8WDg2Hi5+7tPr1OdfBS71+pL+j97bK4E7D9FWXg4FPK7Plin99Uwf1z3XvW2j+G/3xjUu/tGEhO5eLAjAOYcL3Y2OjJPdLmnfVnzAC8hgI75h2Lm1pSzq7hfCLOWuM7XL/M9DBTlN5eNJlqnEJcoQ8tESbQT7lsiQ== brue@doped

La clave pública es:

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAqkoTVAWxq7/6TwSZVBHQSnWoA.....lsiQ== brue@doped

esto es, empieza con “ssh-rsa” y termina con “usuario@maquina” (que no es más que una descripción de la misma).

Si vamos a la web de configuración de nuestra cuenta en gna nos aparecerán las opciones asociadas a la misma. En esta ocasión nos interesa la edición de las claves SSH.

Si seleccionamos esa edición de claves, podremos introducir la nuestra (¡¡¡LA PÚBLICA!!!) como se muestra en la imagen siguiente:

En el ejemplo anterior se ven tres claves. Esto se debe a que yo tengo introducidas (atención, obviedad) tres claves: la de casa, la del trabajo y la del portátil.

Tras esto, debemos esperar a que gna actualice la bese de datos de las claves, que se realiza a través de una tarea de cron, cada tres horas (o eso dicen ellos). Así, como mucho deberíamos esperar 3 horas. Si a las 3 horas la clave no funciona, o bien hemos hecho algo mal, o algo falla con los servidores de gna (en mi caso pasó lo segundo y casi me vuelvo loco).

Para probar nuestra clave, bajaremos la rama trunk del repo del proyecto en el que estemos autorizados del siguiente modo:

1
svn co svn+ssh://<login_gna>@svn.gna.org/svn/<proyecto>/trunk <proyecto>

En mi caso, con M.A.R.S. he de escribir lo siguiente para bajar la rama trunk:

svn co svn+ssh://brue@svn.gna.org/svn/mars/trunk mars

Recordad que si perdéis las claves no pasa nada (mientras las “revoquéis”). Simplemente la borráis de gna y creáis una nueva siguiente desde cero el proceso

Y eso es todo.

Happy hacking!