Si tienes un pequeño número de miembros del equipo trabajando en algunos proyectos, entonces puedes configurar un servidor Git a través de SSH en tu oficina y trabajar en los proyectos como un equipo muy fácilmente. Usted no tiene que utilizar GitHub o cualquier otro servicio en ese caso. El servidor Git basado en SSH es realmente fácil de configurar y utilizar. En este artículo, voy a mostrarte cómo configurar un servidor Git con SSH en Ubuntu y cómo utilizarlo. Así que, vamos a empezar.
En esta sección, voy a mostrarte cómo configurar un servidor Ubuntu como un servidor Git accesible por SSH.
Primero, actualiza la caché del repositorio de paquetes APT con el siguiente comando:
La caché del repositorio de paquetes APT debería estar actualizada.
Ahora, instala el servidor OpenSSH y Git con el siguiente comando:
Ahora, presiona Y y luego presiona <Enter> para confirmar la instalación.
El servidor OpenSSH y Git deberían estar instalados.
Ahora, crea un nuevo usuario git con el siguiente comando:
Todos los repositorios Git se guardarán en el directorio home del usuario git /home/git.
Ahora, inicia sesión como el usuario git con el siguiente comando:
Ahora, crea un nuevo directorio .ssh con el siguiente comando:
Ahora, permite que sólo el usuario git tenga permisos de lectura, escritura y ejecución en el directorio .ssh/ de la siguiente manera:
Como puedes ver, el usuario git sólo tiene permisos de lectura (r), escritura (w), ejecución (x) en el directorio .ssh/.
Ahora, crea un nuevo archivo vacío .ssh/authorized_keys como sigue:
Sólo permite leer y escribir en el archivo desde el usuario git de la siguiente manera:
Como puedes ver, sólo el usuario git tiene permisos de lectura (r) y escritura (w) en el archivo .ssh/authorized_keys.
En el archivo .ssh/authorized_keys hay que añadir la clave pública de los usuarios que se quiere que accedan a los repositorios Git en el servidor Git.
Añadir la clave pública del cliente al servidor Git:
Para acceder a los repositorios Git en el servidor Git, el cliente debe añadir su clave pública al servidor Git.
El cliente puede generar un par de claves públicas y privadas de la siguiente manera:
Pulsa <Intro>.
Pulsa <Enter>.
Pulsa <Introduce>.
Pulsa <Enter>
Ahora, el cliente puede encontrar su clave pública como sigue:
La clave pública del cliente debería imprimirse. Ahora, el cliente puede enviar esta clave pública al gestor (que administra el servidor Git). El gestor puede entonces añadir la clave pública al servidor Git. Entonces el cliente puede acceder al servidor Git.
Digamos que el cliente envió su clave pública al gestor del servidor Git. El gestor subió la clave pública al archivo /tmp/shovon-key.pub en el servidor Git.
Ahora, el gestor del servidor Git puede añadir la clave pública del cliente de la siguiente manera:
Ahora, el archivo .ssh/authorized_keys debe tener la clave pública del cliente.
Creación de repositorios Git en el servidor:
Los clientes no pueden crear nuevos repositorios Git en el servidor. El administrador del servidor Git debe crear un repositorio en el servidor. Luego, los clientes pueden clonar, empujar/tirar del repositorio.
Ahora, crea un nuevo repositorio Git vacío testrepo en el servidor Git como sigue:
Ahora, el cliente sólo necesita conocer la dirección IP del servidor Git para acceder al repositorio Git testrepo.
El gestor del servidor Git puede encontrar esta información de la siguiente manera:
Como puedes ver, la dirección IP del servidor Git es 192.168.21.185. Ahora, el administrador del servidor puede indicarla a los clientes que trabajarán en el proyecto.
Clonación del repositorio Git desde el servidor:
Una vez que el cliente conoce la dirección IP y el nombre del repositorio Git, puede clonarlo en su ordenador de la siguiente manera:
Ahora, escriba yes y pulse <Enter>. Tendrás que hacer esto una vez, sólo la primera vez.
El repositorio Git testrepo debe ser clonado desde el servidor.
Se debe crear un nuevo directorio testrepo.
Hacer cambios y empujar los cambios al servidor Git:
Ahora, el cliente puede añadir commits al repositorio testrepo/ y empujar los cambios al servidor Git.
$ git push origin
Añadir un nuevo miembro al equipo:
Ahora, digamos, que bob quiere contribuir al repositorio Git de testrepo.
Todo lo que tiene que hacer es generar un par de claves SSH y enviar la clave pública al administrador del servidor Git.
Una vez que el gestor del servidor Git tiene la clave pública de bob, puede subirla al servidor Git y añadirla al archivo .ssh/authorized_keys como sigue:
Ahora, bob puede clonar el repositorio Git testrepo desde el servidor de la siguiente manera:
testrepo debe ser clonado.
Se debe crear un nuevo directorio testrepo en el ordenador de bob.
Ahora, bob puede navegar al repositorio Git de la siguiente manera:
Debería encontrar algunos commits existentes.
Ahora, Bob puede hacer su propio trabajo y confirmarlo. Luego, empuja los cambios al servidor.
$ git commit -m ‘Mensaje cambiado’
Ahora, otras personas que trabajan en el mismo repositorio pueden tirar de los cambios de la siguiente manera:
Debería encontrar los commits que hizo bob.
Así es como se configura un servidor Git con SSH en Ubuntu y se utiliza. Gracias por leer este artículo.