TRABAJAR CON CVS Y
SSH
Un entorno de desarrollo serio debe utilizar un repositorio
como elemento principal para el trabajo en equipo.
CVS se ha consolidado como el principal repositorio
gratuito, extendiendose de un modo omni-presente en el mundo Java.
En este tutorial os mostramos como configurar el cliente de
CVS para comunicarse de un modo seguro con el servidor, a través de SSH.
Los
requisitos necesarios son:
- El
cliente ssh que lo podemos bajar de www.networksimpliciy.com - Un
cliente cvs, aquí vamos utilizar wincvs que lo podemos encontrar en
www.cvshome.org
Tenemos
que instalar el cliente de ssh.
Desactivamos
el server ya que solo vamos a necesitar el ciente.
Ahora
tenemos que configurar el cliente para que se pueda conectar con el servidor
donde está instalado el cvs a través de ssh.
Por
seguridad vamos a utlizar el ssh proocolo versión 1 con RSA, para ello tenemos
que generar la clave pública y la clave privada para poder acceder al servidor.
Para generar el par del claves pública/privada utilizamos el comando ssh-keygen.
Este
comando te crea la clave privada en el fichero identity y la clave pública en
el fichero identity.pub que debemos de copiar a al directorio $HOME/.ssh/identity.pub
de la máquina remota.
La
orden es:
Ssh-keygen
-t rsa1
La
opción –t es para indicar el tipo de protocolo, como nosotros vamos a
utilizar el protocolo: ssh protocol versión 1 utilizamos rsa1.
Damos
a todo enter y no ponemos nada en passphrase.
Terminado
este proceso ya tenemos el par de claves pública (identity.pub) y privada
(identity).
Ahora
nos tenemos que llevar el fichero público identitiy.pub al servidor del cvs
mediante ftp y en modo ascii. Lo dejamos en el home del usuario y realizamos lo
siguente:
#Mkdir .ssh
#cat identity.pub >> .ssh/authorized_keys
#chmod -R 700 .ssh
#rm identity.pub
Nos
tenemos que asegurar que tanto el directorio .ssh como el fichero
authorized_keys tienen los permisos 700.
Para
que todo funcione perfectamente tenemos que tener las siguiente variables de
entorno:
CVS_RSH = cvs
CVSROOT= Ruta del repositorio del cvs de la máquina remota.
Y en el PATH de la máquina poner la ruta el fichero ssh.exe.
Desde
la línea de comandos intentamos acceder mediante ssh a la máquina remota:
La
primera vez nos aparece un mensaje como que no puede establecer la conxión con
el servidor y nos hará una pregunta, debemos responder ‘yes’ no vale solo
con ‘y’.
The authenticity of host ‘IP_HOST’
can’t be established.
RSA key fingerprint is 94:2d:02:c3:89:0d:9f:11:9d:d5:06:04:6e:3e:aa:1e.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added (IP_HOST) (RSA) to the list of known hosts.
nombre_usuario@máquina‘s
password:
Una
vez que hemos introducido la password es la última vez que se nos pedirá. Si
nos sigue pidiendo la password en la conexión debemos crear una fichero de
nombre config sin extensión con la siguiente información:
User nombre_usuario_remoto
Protocol 1
IdentityFile Ruta del fichero de clave privada identity
Y
ahora sí que ya no nos volverá a pedir la contraseña.
Ahora
tenemos que instalar y configurar el cliente de cvs, nosotros hemos escogido el
cliente Wincvs.
Una
vez que está instalado, le tenemos que configurar para que se conecte a través
de SSH al repositorio CVS.
Nos
vamos al menú Adim -> Preferences … y seleccionamos el protocolo SSH.
Nos
vamos al menú Remote -> Checkout module… y seleccionamos la ruta del
repositorio destino, el directorio local donde se guardará la información y
esperamos a que termine.