Skip to content

Instantly share code, notes, and snippets.

@pokisin
Last active March 7, 2018 18:42
Show Gist options
  • Save pokisin/dc3c5dfa97574836d065cb0ebfe5421a to your computer and use it in GitHub Desktop.
Save pokisin/dc3c5dfa97574836d065cb0ebfe5421a to your computer and use it in GitHub Desktop.
Instalación de Git en un servidor y clonaremos repositorios con accesos ssh.

Ok, antes de comenzar debes conocer un poco sobre los conceptos básicos de git y un poco de comandos de linux, te dejo los siguientes links.

tutorial git comandos linux...

Ahora sí comenzamos

Generando nuestro repositorio en LOCAL

  1. Creamos una carpeta el cual será nuestro repositorio yo la llamaré proyecto1.
  2. Abrimos nuestra consola de git y nos posicionamos dentro de la carpeta creada y ejecutamos los siguientes comandos.
    git init  
    git add . 
    git commit -m "Mi primer commit con la ayuda de wil :-)"
    cd ..
    
  3. Generamos una copia limpia de nuestro repositorio.
    git clone --bare proyecto1 proyecto1.git
    
    Ahora tenemos nuestro proyecto que estará en nuestro servidor.

Configuracion del servidor

  1. Iniciamos session como root, creamos un usuario para administrar nuestros repositorios, ejecutamos lo siguiente.

    adduser wil
    su wil
    cd ~
    mkdir git
    
  2. Una vez configurado subimos nuestra copia limpia (proyecto1.git) dentro de la carpeta git creada anteriormente.

  3. Vamos a configurar nuestro repositorio creado, nos logeamos como wil y hacemos lo siguiente.

    cd /home/wil/git/proyecto1.git
    git config core.sharedrepository 1
    git config receive.denyNonFastforwards true
    find objects -type d -exec chmod 02770 "{}" \;
    
  4. Lo siguiente es generar las llaves publicas de nuestros usuarios que deseamos que clonen.

    Para los que utilizan windows esto les podría ayudar, los que usan linux pasen al siguiente punto.

  5. Ahora nos logeamos como wil,generamos la llave del usuario y el archivo para los usuarios que puedan clonar, hacemos lo siguiente.

    echo "creamos una carpeta donde estaran las llaves de nuestros usuarios"
    mkdir keys
    echo "configuramos nuestra llave para el usuario, sino deseas guardarlo con un nombre especifico solo das enter a todas las opciones"
    ssh-keygen -t rsa
    echo "Listo!!! nos va a generar una carpeta llamada .ssh, tenemos nuestra llave publica(.pub) y la privada"
    
  6. Ahora tenemos que subir las llaves de nuestros usuarios en la carpeta de /home/wil/keys/, y configuramos los accesos logeados como el usuario wil.

    cd ~/keys
    cat usuario1.pub >> ~/.ssh/authorized_keys
    cat usuario2.pub >> ~/.ssh/authorized_keys
    cat usuario3.pub >> ~/.ssh/authorized_keys
    echo "Ahora reiniciamos el servicio ssh"
    sudo service ssh restart
    

Clonando repositorios de nuestro servidor

  1. Tenemos que levantar nuestra llave privada en nuestros usuarios.

    ejemplo1 ejemplo2

  2. Ahora abrimos nuestro GIT CMD y clonamos nuestro repositorio

    git clone ssh://wil@host:puerto/home/wil/git/proyecto1.git
    

Listo hemos terminado esperando que les halla funcionado.

Wil.PR
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment