Git-GitLab-RStudio Server con su terminal de Linux Ubuntu Server

Dado a la forma como esta configurada la estación de trabajo de la organización lo más adecuado es usar la terminal desde la aplicación web llamada RStudio Server.

Dado esto usando el navegador nos autenticamos usando nuestro usuario y contraseña ya definidas.


Como se puede observar estamos en una especie de Posit RStudio pero en entorno web, por lo que vamos a abrir una ventana de tipo "Terminal" mediante la opción Tools - Terminal - New Terminal 


En estos momentos es un simil de cuando estamos en Windows y abrimos el Símbolo del sistema, así que podemos aquí teclear instrucciones del sistema operativo (en este caso Linux con sabor a Ubuntu), por lo que lo primero es ver si se tiene instalado el programa Git, es este punto nuevamente pedí apoyo a una de mis colaboradoras que hiciera dicho proceso, ya que yo ya lo había hecho.

Primero es verificar que exista el programa Git.

nombre_apellido@idequipo:~$ git --version

git version 2.51.0

Vamos a verificar que existe en el archivo de configuración de Git, y si es el caso definir usuario y correo electrónico.

nombre_apellido@idequipo:~$ git config --list

nombre_apellido@idequipo:~$ git config --global user.name "Usuario GitLab"

nombre_apellido@idequipo:~$ git config --global user.email "usuario@domcorreo.com"

nombre_apellido@idequipo:~$ git config --list

user.name=Usuario GitLab

user.email=usuario@domcorreo.com

Después de esta operación podemos ver que ya esta definido el usuario y el correo necesario para conectarnos con GitLab. Lo que sigue es generar la llave pública y privada.

nombre_apellido@idequipo:~$ ssh-keygen -t ed25519 -C "usuario@domcorreo.com"

Generating public/private ed25519 key pair.

Enter file in which to save the key (/home/nombre_apellido/.ssh/id_ed25519): 

Created directory '/home/nombre_apellido/.ssh'.

Enter passphrase for "/home/nombre_apellido/.ssh/id_ed25519" (empty for no passphrase): 

Enter same passphrase again: 

Your identification has been saved in /home/nombre_apellido/.ssh/id_ed25519

Your public key has been saved in /home/nombre_apellido/.ssh/id_ed25519.pub

The key fingerprint is:

SHA256:xxxXXXXXXxxxxxxxXXXXXXxxxxxxXXXXXXxxxxxxxXXXXX usuario@domcorreo.com

The key's randomart image is:

+--[ED25519 256]--+

|    oo...o.o.   .|

|   .  .o Eo.    .|

|  .     = D + ...|

| o .   o O...=...|

|. o   . W..o=.F .|

| . . .. oo+. O o |

|  . o...o=..  .  |

|   .  .ooo  .    |

|       .o        |

+----[SHA256]-----+

Se cambian algunos caracteres por cuestión de seguridad. Vamos ahora relacionar estas llaves con el agente, ssh-agent es un programa que se ejecuta en segundo plano (como un servicio) y su trabajo es mantener tus claves SSH privadas en memoria.

nombre_apellido@idequipo:~$ eval "$(ssh-agent -s)"

Agent pid nnnnnnn

A continuación se manda el siguiente comando:

nombre_apellido@idequipo:~$ ssh-add ~/.ssh/id_ed25519

Identity added: /home/nombre_apellido/.ssh/id_ed25519 (usuario@domcorreo.com)

Que permite agregar la llave privada. Para asegurar que la llave se ha agregado correctamente pedimos al agente que liste las llaves que existen.

nombre_apellido@idequipo:~$ ssh-add -l

256 SHA256:xxxxXXXxxxxXXXXxXxXxxxxxxxxxxxxx usuario@domcorreo.com (ED25519)

Se puede observar que la llave se agregó correctamente. Lo que sigue es copiar la llave pública y agregarla en GitLab.

nombre_apellido@idequipo:~$ cat ~/.ssh/id_ed25519.pub

ssh-ed25519 sssAAkdh73skjeHHak990slllsj22HHJsddfs usuario@domcorreo.com

Este proceso se detalla en el artículo citado aquí una vez copiada la llave que se muestra con el comando anterior.

Por último ahora se prueba la conexión con el siguiente comando:

nombre_apellido@idequipo:~$ ssh -T git@gitlab.com

The authenticity of host 'gitlab.com (172.65.251.78)' can't be established.

ED25519 key fingerprint is SHA256:hhsjeHIkdjj34sk394ksh223lJK.

This key is not known by any other names.

Are you sure you want to continue connecting (yes/no/[fingerprint])? yes

Warning: Permanently added 'gitlab.com' (ED25519) to the list of known hosts.

Welcome to GitLab, @usuario@domcorreo.com!

Se puede observar que ya tenemos conexión con GitLab, en el siguiente artículo veremos como clonar proyectos / repositorios en RStudio Server.

Hasta el siguiente artículo.

Miguel Araujo.



Comentarios

Entradas populares de este blog

Visual Studio Code con Python usando base de datos de Oracle

Después de Xamarin - .NET MAUI para aplicaciones móviles (y multiplataforma)

Visual Studio Code para trabajar con equipos remotos