En algún punto de nuestro vida profesional, podemos encontrarnos en un escenario donde necesitemos generar nuestras llaves SSH KEY,para una mayor facilidad y comodidad, en este post veremos de una manera como hago para generar mis SSH, en diferentes clientes GITHUB y GITLAB.
Todos los pasos fueron realizados en un ambiente Linux/WSL con distribucion Ubuntu/Debian
SSH o Secure Shell, es un protocolo de administración remota que permite a los usuarios controlar y modificar sus servidores remotos a través de Internet. El servicio se creó como un reemplazo seguro para el Telnet sin cifrar y utiliza técnicas criptográficas para garantizar que todas las comunicaciones hacia y desde el servidor remoto sucedan de manera encriptada. Proporciona un mecanismo para autenticar un usuario remoto, transferir entradas desde el cliente al host y retransmitir la salida de vuelta al cliente.
Abrimos nuestra terminal favorita, y ejecutamos el siguiente comando
bash$ ssh-keygen -t rsa -C "nombre_correo@dominio.extension"
Esto nos retornara un mensaje en la misma terminal que dira lo siguiente:
bash$Generating public/private rsa key pair.Enter file in which to save the key (/home/user_name/.ssh/id_rsa):
Lo que nos pide es lo siguiente:
Podemos verificar que se creo de manera correcta nuestros keys, con el siguiente comando:
bash$ ls -la ~/.ssh
Se recomienda que las llaves esten dentro de la carpeta “.ssh” para mayor comodidad.
Ahora entraremos a la carpeta “.ssh” y crearemos un archivo nombrado “config”
bash$ cd ~/.ssh$ touch config$ vim config# File config# Personal accountHost github.comHostName github.comPreferredAuthentications publickeyIdentityFile ~/.ssh/github_me# Gitlab accountHost gitlab.comHostName gitlab.comPreferredAuthentications publickeyIdentityFile ~/.ssh/gitlab_me
Una vez creado el archivo “config”, agregaremos las llaves generadas.
bash$ ssh-add ~/.ssh/github_me$ ssh-add ~/.ssh/gitlab_me
Ahora necesitamos copiar la llave y ponerla en el dashboard de GITHUB/GITLAB
bash$ xclip -sel clip < ~/.ssh/github_me.pub
Es posible de que el comando “xclip” talvez no este disponible, dejo un enlace como instalarlo❌ Unsupported block (bookmark)
Ya agregado nuestras claves tanto en nuestro equipo (Paso 4) y agregado en nuestro cliente git GITHUB o GITLAB (Paso 5), solo nos falta verificarlo en nuestra terminal ejecutando el siguiente comando.
bash$ ssh -T git@github.com# or$ ssh -T git@gitlab.com
Es posible que en algunas companias o startups utilizen su propio repositorio basado en GITLAB, tb podemos utilizarlo cambiando el hostaname por la nueva url o IP
bash# En el archivo ~/.ssh/config# Gitlab Custom DomainaccountHost mycompany.com or IPHostName mycompany.com or IPPreferredAuthentications publickeyIdentityFile ~/.ssh/gitlab_me
Y para probarlo tb cambiaria un poco.
bash$ ssh -T git@mycompany.comor$ ssh -T git@xxx.xxx.xxx.xxx