CVS con SSH HOWTO

Buenas a todos,

Os pongo los pasos para crear un CVS que utilice SSH en vez de pserver por si a alguno le interesa.

En este tuto instalo con aptitude, pero podeis usar el gestor de paquetes que tengais en vuestra distro.

INSTALACION DEL CVS
http://acm2.asoc.fi.upm.es/~chernando/doc/cvs/

El repositorio va a estar en /home/cvs y voy a hacer que tome como base lo que contenga el directorio /home/yoquese/esomismo

tuPC% aptitude install cvs


Declaracion de variables
tuPC% CVS_RSH=ssh
tuPC% CVSROOT=:ext:$[I]<usuario>[/I]@[I]<servidor>[/I]:[I]/home/cvs[/I]
tuPC% export CVS_RSH CVSROOT


Iniciacion del cvs
tuPC% cvs -d $CVSROOT init


Vamos al directorio donde tenemos los ficheros que queremos incluir en el cvs
tuPC% cd [I]/home/yoquse/esomismo[/I]


'miproyecto' es el nombre que va a tener el proyecto en el cvs
tuPC% cvs -d /home/cvs import -m [I]"descripcion" miproyecto <autor> <fecha>[/I]


Asignacion de permisos (¡OJO!, estos son MUY afinables)
tuPC% cd /home/cvs/[I]miproyecto[/I]
tuPC% chown -R <usuario> *
tuPC% chgrp -R <grupo> *


INSTALACION DE SSH
http://rch2.mine.nu/cvs_over_ssh.php
http://www-128.ibm.com/developerworks/library/l-keyc.html#compromise

Vamos a meter un servidor ssh y vamos a hacer que no nos pida la clave al acceder al CVS, porque sino cada vez que hacemos commit, update o cualquier otra operación la pide y es un auténtico coñazo.

tuPC% aptitude install ssh


Generamos la clave pública y la privada
tuPC% ssh-keygen -t rsa (y después meted 1 ENTER y la clave que querais dos veces)

Generating public/private rsa key pair.
Enter file in which to save the key (/home/youruser/.ssh/id_rsa):
Enter passphrase (empty for no passphrase): (type a password here)
Enter same passphrase again:
Your identification has been saved in /home/youruser/.ssh/id_rsa.
Your public key has been saved in /home/youruser/.ssh/id_rsa.pub.
The key fingerprint is:


Hacemos que el servidor remoto "nos conozca"
tuPC% scp .ssh/id_rsa.pub [I]usuario[/I]@[I]servidor[/I]:~
tuPC% ssh [I]usuario@servidor[/I]
servidor% mkdir .ssh
servidor% chmod u=rwx .ssh
servidor% cat id_rsa.pub >> .ssh/authorized_keys2
servidor% rm id_rsa.pub
servidor% exit
tuPC% ssh-add ~/.ssh/id_rsa


TRAYENDO EL PROYECTO A ECLIPSE

tuPC% aptitude install eclipse

Dentro de Eclipse
File > New > Proyect
CVS > Checkout Proyects from CVS

Create a new repository location

Host: servidor con CVS y SSH
Repository path: /home/cvs
User: <usuario>
Password: <password>
Connection type: ext
Marcar 'save password'
Dadle a 'Next >'

Seleccionad Use an existing module (this will allow...)
Seleccionad 'miproyecto' y dadle a Finish


Espero que le sirva a alguien.
Hola,

Yo creo que esto es material para el wiki, no?¿

Saludos!!!
Solo comentar que...

xatafi escribió:
tuPC% ssh-keygen -t rsa (y después meted 3 ENTER)


... es una malisima idea
Ciertamente tanto esto:

tuPC% cd /home/cvs/[I]miproyecto[/I]
tuPC% chown -R <usuario> *
tuPC% chgrp -R <grupo> *


como esto:

tuPC% ssh-keygen -t rsa (y después meted 3 ENTER)


no son buenas ideas. Yo lo tengo así montado porque trabajo con el servidor CVS en local y soy el único usuario, sino está claro que así no se debería quedar.

De todos modos edito la cita de Ferdy.
Ferdy escribió:... es una malisima idea

Aquí el por qué, y una alternativa: http://www-128.ibm.com/developerworks/library/l-keyc.html#compromise

Un saludo.
Juas, veo que es carne de Wiki...

Por cierto Ferdy, espero que cuando esté el Wiki... aportes estas cositas. Pero lo interesante es que, a parte del comentario, des la solución... :D

Saludetes!

PD Me leere el howto más tarde, que me interesa.
Si pruebas a instalar el CVS y ves que no te funciona avisa, que aunque yo juraria que puse todos los pasos puede que me haya saltado algo o que algo no esté bien.
6 respuestas