quickie

Generar certificados SSH para conexiones sin contraseñas (passwordless SSH).

por Lógico (@LogicoDev)
3 de Diciembre, 2018 ⏱ 12:30 PM

En este quickie te enseñamos a crear y distribuir el par de llaves pública y privada de SSH para realizar conexiones sin necesidad de contraseñas.

Imágen de portada

Hace unos días publicamos una guía básica sobre SSH. Allí explicamos distintos tipos de túneles, pero nos quedo pendiente la generación de certificados y conexión sin passwords a hosts remotos. Como lo prometido es deuda, hoy lo saldamos.

Como generar llaves SSH.

El proceso es muy sencillo: primero ingresamos el siguiente comando en la consola

ssh-keygen -t rsa -b 4096 -C "USER@YOUR_EMAIL"

Se nos a consultar sobre la ubicación donde almacenar los certificados y contraseña del certificado (opcional pero recomendado). Van a ver una salida similar a esta

Generating public/private rsa key pair.
Enter file in which to save the key (/home/your_user/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/your_user/.ssh/id_rsa.
Your public key has been saved in /home/your_user/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:AlEIestv8y9vR+4gwC9D5kZBicUK4/BTDjfeFkBnt1o USER@YOUR_EMAIL
The key's randomart image is:
+---[RSA 4096]----+
|  .**=+ .        |
|+.o.B+.. .       |
|++.Boo .E        |
| ++ooooo         |
|  o.*.o S        |
|   * o .  .      |
|    O o .o       |
|   o =....o      |
|      .=oo.      |
+----[SHA256]-----+

Finalmente, para enviar el certificado público al host remoto con el comando

ssh-copy-id <user>@<remote>

Ingresan la contraseña del host remoto y de aquí en adelante ya estamos listo para conectarnos sin necesidad de ingresar nuevamente el password.

unsplash-logoDayne Topkin