Apéndice G. Asegurando Svnserve utilizando SSH

Tabla de contenidos

Preparando un servidor Linux
Preparando un servidor Windows
Herramientas de cliente SSH para utilizar con TortoiseSVN
Creando certificados OpenSSH
Crear claves utilizando ssh-keygen
Crear claves utilizando PuTTYgen
Comprobación utilizando PuTTY
Comprobando SSH con TortoiseSVN
Variantes de configuración SSH

Esta sección proporciona una guía paso-a-paso para configurar Subversion y TortoiseSVN para utilizar el protocolo svn+ssh. Si ya está utilizando conexiones SSH autenticadas para identificarse en su servidor, entonces esto ya lo tiene hecho y puede encontrar más detalles en el libro de Subversion. Si no está utilizando SSH pero le gustaría hacerlo para proteger su instalación de Subversion, esta guía le proporciona un método simple con el que no necesita crear una cuenta de usuario SSH diferente en el servidor para cada usuario de Subversion.

En esta implementación creamos una única cuenta de usuario SSH para todos los usuarios de Subversion, y utilizamos diferentes claves de autenticación para diferenciar entre los usuarios reales de Subversion.

En este apéndice asumimos que ya tiene las herramientas de Subversion instaladas, y que ha creado un repositorio tal y como se describe en alguna sección de este manual. Tenga en cuenta que no debería iniciar svnserve como un servicio o demonio cuando se utilice con SSH.

Mucha de esta información viene de un tutorial proporcionado por Marc Logemann, que puede encontrarse en www.logemann.org Thorsten Müller ha proporcionado información adicional sobre cómo configurar un servidor Windows. ¡Gracias tíos!

Preparando un servidor Linux

Necesita tener SSH habilitado en el servidor, y aquí asumimos que utilizará OpenSSH. En la mayoría de distribuciones ya lo tendrá instalado. Para averiguarlo, escriba:

ps xa | grep sshd

y busque trabajos de ssh.

Un punto a tener en cuenta es que si compila Subversion desde el código fuente y no proporciona ningún argumento a ./configure, Subversion crea un directorio bin bajo /usr/local y pone sus binarios ahí. Si desea utilizar el modo túnel con SSH, debe asegurarse de que el usuario que haga login via SSH necesita ejecutar el programa svnserve y algunos otros binarios. Por esta razón, o bien ponga /usr/local/bin en la variable PATH, cree enlaces simbólicos de sus binarios en el directorio /usr/sbin o en cualquier otro directorio que esté incluido en el PATH.

Para comprobar que todo está bien, haga login como el usuario de destino con SSH y escriba:

which svnserve

Este comando le dirá si se puede alcanzar svnserve.

Cree un nuevo usuario que utilizaremos para acceder al repositorio svn:

useradd -m svnuser

Asegúrese de otorgar a este usuario todos los derechos de acceso al repositorio.