Una guía sobre cómo alojar su propio servidor Git con Raspberry Pi by@m108falcon
5,456 lecturas

Una guía sobre cómo alojar su propio servidor Git con Raspberry Pi

2022/01/19
por @m108falcon 5,456 lecturas
tldt arrow
ES
Read on Terminal Reader

Demasiado Largo; Para Leer

Alojar su propio servidor git puede ser una experiencia de aprendizaje divertida que se utiliza para comprender los entresijos de lo que implica mantener una base de código en entornos privados. Puede configurar un servidor git privado que funcione en poco tiempo siguiendo la guía si tiene una Raspberry-Pi a mano. También puede configurar en máquinas VM o AWS o cualquier servicio de alojamiento con Linux. NOTA: Esta guía solo muestra la configuración básica, los mecanismos de seguridad con respecto a los privilegios de usuario y las restricciones de compromiso que aún deben configurarse pero que están fuera del alcance de este artículo.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Una guía sobre cómo alojar su propio servidor Git con Raspberry Pi
Mridul Wadhwa HackerNoon profile picture

@m108falcon

Mridul Wadhwa

Open Source Supporter and Cyber Security enthusiast looking for internships...

Sobre @m108falcon
LEARN MORE ABOUT @M108FALCON'S EXPERTISE AND PLACE ON THE INTERNET.
react to story with heart

Alojar su propio servidor git puede ser una experiencia de aprendizaje divertida que se utiliza para comprender los entresijos de lo que implica mantener una base de código en entornos privados. Puede configurar un servidor git privado que funcione en poco tiempo siguiendo la guía si tiene una Raspberry-Pi a mano.

También puede configurar en máquinas VM o AWS o cualquier servicio de alojamiento con Linux.

NOTA: Esta guía solo muestra la configuración básica, los mecanismos de seguridad con respecto a los privilegios de usuario y las restricciones de compromiso que aún deben configurarse pero que están fuera del alcance de este artículo.

image

¡Vámonos! Debemos….

PASO 1: Configuración de un nuevo usuario para manejar los repositorios de Git

Por motivos de seguridad y facilidad de uso, configuraré claves SSH para autenticación b/w servidor y clientes a través de la red.

a) Inicie sesión en su usuario pi existente en raspberry-pi y configure un nuevo usuario para su servidor git.

 [email protected]:~ $ sudo useradd -s /bin/bash -m [username]

Nombraré a mi usuario git y me referiré a él en el resto del artículo.

El comando anterior agrega un nuevo usuario, -s indica que se usará el shell y -m indica que se debe crear el directorio de inicio.

b) Dale la contraseña a tu nuevo usuario:

 [email protected]:~ $ sudo passwd git

c) Complete la contraseña de su elección y cambie el usuario a git y cd en el directorio de inicio de git.

 [email protected]:~ $ su git

d) Complete la contraseña.

 [email protected]:home/pi $

e ) Y luego escriba cd para ir al directorio de inicio de git.

PASO 2: Configurar la autenticación de clave SSH para Git

a) Desde su máquina cliente, ssh en git para verificar que puede iniciar sesión de forma remota en el usuario.

 [email protected]:~ $ ssh [email protected][ipaddr]

b) Si tiene configurado el puerto 22 predeterminado y el usuario está configurado como activo, se le solicitará la contraseña e iniciar sesión. Ingrese las credenciales e iniciará sesión en el usuario git en su raspberry-pi.

inicio de sesión autenticado por contraseña

inicio de sesión autenticado por contraseña

c) Abra una nueva pestaña de terminal y haga lo siguiente en la máquina cliente.

 [email protected]:~ $ ssh-keygen

d) Siga los pasos, asigne un nombre único a la clave y agregue una contraseña si lo desea.

e) Una vez configuradas las claves, envíe su clave de publicación de identificación al servidor

 [email protected]:~ $ ssh-copy-id -i [location]/unique_key.pub [email protected][ipaddr]

f) Intente iniciar sesión en el usuario de git, si aún se le solicita que inicie sesión con una contraseña, entonces:

 [email protected]:~ $ ssh-agent [your shell] && ssh-add [location]/unique_key

si inició sesión sin contraseña, puede ignorar el comando anterior.

iniciar sesión con autenticación basada en clave ssh

iniciar sesión con autenticación basada en clave ssh

PASO 3: Configuración de repositorios

Frambuesa-Pi

a) Dentro de su raspberry-pi conectado como git, cree un directorio para almacenar todos los repositorios de git:

 [email protected]:~ $ mkdir [directory]

b) Nombré el mío srv . Dentro de srv, cree un directorio para el proyecto que desea administrar que termine con .git . Esto se debe a que .git ayuda a Linux a diferenciar los directorios estándar en b/n y los repositorios administrados por git.

 [email protected]:~ $ cd srv [email protected]:~/srv $ mkdir [nameofyourrepo].git

c) Llamé al mío traceviz.git y me referiré a él de ahora en adelante.

Inicialice el repositorio desnudo. Se necesita Bare porque los repositorios remotos necesitan realizar un seguimiento de los cambios y no tener árboles de trabajo.

 [email protected]:~/srv/traceviz.git $ git init --bare

Máquina local

a) Vaya al directorio de su proyecto e inicialice el repositorio de git. Agregue un archivo y realice la confirmación inicial.

 [email protected]:~ $ cd Projects/traceroute_viz [email protected]:~/Projects/traceroute_viz $ git init [email protected]:~/Projects/traceroute_viz $ git add README.md [email protected]:~/Projects/traceroute_viz $ git commit -m 'README'

b) Agregue una dirección remota a su repositorio git.

 [email protected]:~/Projects/traceroute_viz $ git remote add origin ssh://[email protected]/home/git/srv/traceviz.git

c) Agregue la dirección de su repositorio remoto después de ssh://

d) Empuje al servidor remoto.

 [email protected]:~/Projects/traceroute_viz $ git push -u ssh://[email protected]/home/git/srv/traceviz.git

Eso concluye la creación de repositorios para empujar código. :)

Prueba del código insertado mediante clonación

a) En la máquina cliente, vaya a un directorio diferente al de su proyecto y clone el repositorio remoto.

 [email protected]:~/Downloads $ git clone [email protected]:/home/git/srv/traceroute_viz.git

Y encontrarás este error:

advertencia

advertencia

b) Para solucionarlo, vaya a su máquina remota y modifique el archivo HEAD en el servidor git.

contenido del repositorio remoto

contenido del repositorio remoto

c) El contenido original de HEAD dice:

contenido original

contenido original

d) Y cambiar de maestro a principal. Puede hacerlo simplemente editando archivos con su editor favorito (nano, vim, emacs o cualquier otro de su elección).

archivo modificado

archivo modificado

e) Elimine su repositorio clonado anterior y clone uno nuevo y obtendrá todos los archivos que necesita.

image

Ahora, realmente está configurado con un repositorio remoto local propio. Diviértete administrando el código con tus amigos/compañeros de cuarto.

¡Mis mejores deseos! 👍

HISTORIAS RELACIONADAS

L O A D I N G
. . . comments & more!
Hackernoon hq - po box 2206, edwards, colorado 81632, usa