jueves, julio 09, 2020

Validar Autenticidad de Host SSH al conectar por primera vez

Cuando te conectas a un servidor por ssh por primera vez te muestra un mensaje con el fingerprint de la llave publica que nos presenta el servidor al que te estas conectando.

Ej:

The authenticity of host 'vc.jarvissoft.com (45.55.104.206)' can't be established.
ECDSA key fingerprint is SHA256:AMZNxSCy9O+Uccj1SIPv+r3l8li2uYxyz+0OoF99Ys0.
Are you sure you want to continue connecting (yes/no)?

Entonces para poder verificar requerimos que el administrador del servidor nos proporcione fuera de banda la llave pública del servidor al que nos estamos conectando para poder generar el fingerprint y comparar con el que se presenta al iniciar la sesión ssh por primera vez.

En el caso anterior la llave pública esta en el archivo del servidor ssh /etc/ssh/ssh_host_ecdsa_key.pub, la cual nos tienen que compartir por un medio seguro.

Una vez que tengamos dicho archivo podemos mostrar el fingerprint y comparar con lo que nos muestre al conectar.

ssh-keygen -l -f $PUBLIC_KEY_FILE

Ej:
ssh-keygen -l -f ssh_host_ecdsa_key.pub 
256 SHA256:AMZNxSCy9O+Uccj1SIPv+r3l8li2uYxyz+0OoF99Ys0 root@nbg1node739 (ECDSA)