Definición
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.
Puedes ver mas en este enlace.
Paso 1.
En nuestra terminal escribimos el siguiente comando, con el correo que usamos en github.
$ ssh-keygen -t rsa -C "nombre_correo@dominio.extension"
Paso 2.
Nos retornara el siguiente mensaje.
$Generating public/private rsa key pair.
Enter file in which to save the key (/home/user_name/.ssh/id_rsa):
Este punto puedes ponerle un nombre para identificar la llave, en mi caso pondre “github_me” y le damos enter.
github_me
Luego pondremos una contraseña para la llave ssh que estamos creando. Ahora repetimos los mismos pasos: 1 y 2, pero para gitlab.
Paso 3.
En nuestra terminal ejecutamos el siguiente comando.
ls -la ~/.ssh
Nos mostrara en terminal algo similar a esto.
Paso 4.
Ahora nos ubicaremos en la carpeta “.ssh”, desde la terminal y creamos un archivo llamado “config”.
cd ~/.ssh
touch config
vim config
Y dentro del archivo ponemos lo siguiente:
# Personal account
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_me
# Gitlab account
Host gitlab.com
HostName gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitlab_me
Paso 5
Agregamos nuestras llaves que creamos, con el siguiente comando.
ssh-add ~/.ssh/github_me
ssh-add ~/.ssh/gitlab_me
Una vez generado nuestras llaves, tenemos que agregar dichas llaves ssh, a GITHUB y GITLAB, propiamente dichos.
Paso 6
Una vez ya agregada nuestras “ssh” generados a GITHUB y GITLAB, probamos la conectividad, con el siguiente comando.
ssh -T git@github.com
Y les mostrara el siguiente mensaje.
Y listo, ya tenemos configurado nuestras llaves ssh
en nuestro equipo de desarrollo.
Paso 7
Ahora para copiar tu clave publica, podemos ejecutar el siguiente comando, en caso de no tenerla necesitas instalarla.
xclip -sel clip < ~/.ssh/github_me.pub
Y lo tenemos en la papelera, entonces cuando hagamos ctrl +v, dentro de nuestras configuraciones en nuestro repositorio lo podremos pegar.
Puedes visitar mi pagina personal en: https://guillermoparedes.github.io