Generalmente cuando pretendemos crear una llave ssh es porque queremos configurar algún repositorio que tenemos almacenado en github, gitlab o bitbucket, para acceder a este sin estar digitando usuario y contraseña y esto pasa cuando lo clonamos con http, sin embargo tenemos la opción de seleccionar ssh.

Crear ssh key en Opensuse

Una llave ssh básicamente es una credencial encriptada que contiene información con la cual nos podemos autenticar en una aplicación o servicio sin la necesidad de ingresar usuario y contraseña

GIT

Generalmente cuando pretendemos crear una llave ssh es porque queremos configurar algún repositorio que tenemos almacenado en github, gitlab o bitbucket, para acceder a este sin estar digitando usuario y contraseña y esto pasa cuando lo clonamos con http, sin embargo tenemos la opción de seleccionar ssh. Lo primero que debemos hacer entonces es tener instalado git.

# zypper es el gestor de paquetes de opensuse
> sudo zypper install git

El siguiente paso importante es identificarnos, cuando hacemos un commit y luego un push a una rama, este debe tener la información de quien lo hizo, por medio de su correo y nombre. Por repositorio podemos tener diferentes configuraciones, sin embargo aquí vamos a usar la configuración global.

# debe funcionar en cualquier sistema operativo
git config --global user.email "you@example.com"
git config --global user.name "Your Name"

SSH

La llave ssh esencialmente consiste de una parte publica (.pub) y otra privada, donde podemos compartir nuestra llave publica y quien la tenga podrá comunicarse con nosotros sin brindar algún dato, siempre y cuando la llave privada certifique que es correcta la publica. El siguiente comando se encarga de crear las dos llaves:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
# Enter en todas las opciones que aparecerán

Ahora debemos copiar nuestra llave publica desde nuestra consola e ir a pegarla en nuestro sistema preferido de alojamiento de repositorios, para este ejemplo vamos a usar github, sin embargo las instrucciones son casi iguales para otros.

# muestra en la consola el contenido del archivo, lo debemos copiar
cat < ~/.ssh/id_rsa.pub

Copiamos esta cadena de caracteres y la vamos a copiar en settings/ssh keys and gpg keys.

Repositorio

Una vez completados los pasos anteriores ya podremos crear y clonar nuestros repositorios desde github, hacerles pull o push sin que nos pida usuario y contraseña.