La llave del alojamiento de servidor es desconocida

Generalidades

Este artículo explica cómo verificar que estás conectandote a un servidor de DreamHost y que tu conexión es segura. Si sigues los pasos en este artículo y los valores de las huellas digitales no son compatibles con lo que se ve en el panel, NO TE CONECTES al servidor.Contact DreamHost support so they may investigate why the fingerprints are different.

Cada servidor DreamHost tiene varias claves SSH únicas asignadas. Estas claves se utilizan para identificar el servidor y garantizar que tu conexión sea segura y confiable. Cuando utilizas por primera vez un programa o terminal SSH para conectarte a tu servidor, verifica las claves. Como actualmente no están almacenados en tu computadora, verás la siguiente advertencia:

The server's host key is unknown. You have no guarantee that the server is the computer you think it is.

Este artículo explica cómo verificar que la clave que estás viendo es correcta. Luego puedes continuar iniciando sesión en el servidor de forma segura.

Verificar las huellas digitales usando un cliente de FTP

Los siguientes ejemplos deben ser corridos en una terminal de SSH. Vé los siguientes artículos para más información:

Cuando originalmente inicies sesión en un servidor de DreamHost, puede que veas la siguiente alerta:

The server's host key is unknown. You have no guarantee that the server is the computer you think it is.

Por ejemplo:

Para confirmar que este es el servidor correcto, navega a la página de SSH Keys. En esa página, verás tu servidor junto con sus huellas digitales compatibles.

Por ejemplo:

Compara los dos para confirmar que es el mismo servidor. Puedes luego aceptar la alerta e iniciar sesión normalmente.

Usar SSH para verificar la huella digital del servidor

Puedes usar SSH para verificar la huella del servidor usando unos pocos comandos. Por favor recuerda que algunos comandos sólo funcionan en versiones específicas de OpenSSH. Para verificar tu versión actual, corre el siguiente comando:

[server]$ ssh -V

Esto responde con el número de versión. Hay algunos comandos que NO funcionan si tu versión es menos que 6.8.

El siguiente ejemplo va a usar las huellas digitales del servidor Compartido llamado batroc:

Usar OpenSSH versión 7.6p1

Un comando común para correr es: FingerprintHash.

Ver la huella digital RSA (MD5)

[server]$ ssh -o HostKeyAlgorithms=ssh-rsa -o FingerprintHash=md5 batroc.dreamhost.com
The authenticity of host 'batroc.dreamhost.com (67.205.12.21)' can't be established.
RSA key fingerprint is MD5:a1:85:cc:7b:06:c9:14:f3:a8:38:7a:95:76:f1:17:eb.

Ver la huella digital RSA (SHA256)

[server]$ ssh -o HostKeyAlgorithms=ssh-rsa -o FingerprintHash=sha256  batroc.dreamhost.com
The authenticity of host 'batroc.dreamhost.com (67.205.12.21)' can't be established.
RSA key fingerprint is SHA256:mYNdKXseiTyZVeIdXNqy8rJTfrKnBo2QG1XK9DdUSYc.

Ver la huella digital ECDSA (MD5)

[server]$ ssh -o HostKeyAlgorithms=ecdsa-sha2-nistp256 -o FingerprintHash=md5 batroc.dreamhost.com
The authenticity of host 'batroc.dreamhost.com (67.205.12.21)' can't be established.
ECDSA key fingerprint is MD5:08:88:80:ff:e8:dd:4a:4f:6b:3a:64:cf:8c:84:f2:13.

Ver la huella digital ECDSA (SHA256)

[server]$ ssh -o HostKeyAlgorithms=ecdsa-sha2-nistp256 -o FingerprintHash=sha256 batroc.dreamhost.com
The authenticity of host 'batroc.dreamhost.com (67.205.12.21)' can't be established.
ECDSA key fingerprint is SHA256:ijqWGQW20bkvOViujUO5PRknle09aDPUjh25u60T7eQ.

Ver la huella digital ED25519 (MD5)

[server]$ ssh -o HostKeyAlgorithms=ssh-ed25519 -o FingerprintHash=md5  batroc.dreamhost.com
The authenticity of host 'batroc.dreamhost.com (67.205.12.21)' can't be established.
ED25519 key fingerprint is MD5:c9:aa:b8:02:0c:ca:46:59:63:17:16:0a:7c:26:c6:24.

Ver la huella digital ED25519 (SH256)

[server]$ ssh -o HostKeyAlgorithms=ssh-ed25519 -o FingerprintHash=sha256  batroc.dreamhost.com
The authenticity of host 'batroc.dreamhost.com (67.205.12.21)' can't be established.
ED25519 key fingerprint is SHA256:q3JfuvuldJy5u/ETWHW7HBQ3Zqn763z/CWlumFuOH3s.

Usar OpenSSH menor que 6.8

Como está mencionado arriba, el comando 'FingerprintHash' no funciona en OpenSSH con versiones menores que 6.8. Sin embargo, puedes correr ssh-keyscan para descargar la llave pública, luego ver sus huellas digitales.

Primero, descarga la llave pública del servidor.

Dependiendo de las versión de OpenSSH que estés usando, solo ciertas llaves se descargarán. Versiones menores a 6.8 por defecto serán MD5.
[server]$ ssh-keyscan batroc.dreamhost.com > batrockeys.pub

Ahora puedes ver las llaves en ese archivo para las huellas digitales. Solo las huellas digitales de las llaves que descargaste se mostrarán. Esto imprime las huellas digitales RSA (MD5) and ECDSA (MD5).

[server]$ ssh-keygen -l -f batrockeys.pub
2048 a1:85:cc:7b:06:c9:14:f3:a8:38:7a:95:76:f1:17:eb batroc.dreamhost.com (RSA)
256 08:88:80:ff:e8:dd:4a:4f:6b:3a:64:cf:8c:84:f2:13 batroc.dreamhost.com (ECDSA)

Generar un hash de una llave diferente

Como está mencionado arriba, solo ciertas llaves se descargarán basadas en la versión de OpenSSH que estás usando. Sin embargo, puedes generar un hash en una llave diferente si necesitas.

Generar un hash RSA (SHA256) basado en la llave RSA (MD5)

Esto asume que cuando corres ssh-keyscan, solo las llaves MD5 son descargadas. Usa 'cat' para ver las llaves:

[server]$ cat batrockeys.pub
batroc.dreamhost.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDFc4bKkZW+0bb+UYtDZwH/IAT5V4ybLlJWJ4cp7Ny3c4767aQheZr5ifcAEc+itEqnGPWIQ/qxbKZnw6F5dBXggbx+KIZX7JXDfJqNkFuVz3mKsvKxu0qGw2/b40dRiUe0+cAxamR73YNpCeCZuo515lJCw4eVo3BJtnHetT/yF9xtdGPQm334yDHunEtUgKFzqyEDEolFtL5FZcPP137RgfMdp+BWQj8tOiodmcUlA1kEhkN63JRcSsSJhd1FFAA4PoiyvsPm+PGUCIFwzKW13SXEIi0GQ2J8Rl3YW7B/H1HXCDGfT75T1OhP3mGN3H8Es9ieq/1kKTyzscq6C30z
batroc.dreamhost.com ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBDIXGPnE5gz3j8vzl8LeboCFAkcZ0L76ld5Y4knIghV+tTxOrUW2M3m6bN3qNJK9U8oJLiTafotQ/Js4JUTY8L8=

Puedes ver que hay dos llaves en este archivo. Tienes que eliminar una de ellas (o más) para que quede una sola llave. Abre un archivo y elimina la segunda línea para que solo una línea quede.

Ahora puedes correr el siguiente comando para generar un hash SHA256 basado en esa sola llave.

[server]$ awk '{print $3}' batrockeys.pub | base64 -d | sha256sum -b | awk '{print $1}' | xxd -r -p | base64
mYNdKXseiTyZVeIdXNqy8rJTfrKnBo2QG1XK9DdUSYc=

Como puedes ver, esto imprime la huella digital RSA (SHA256). Si has eliminado la primera llave en vez, la salida puede mostrar la huella digital ECDSA (SHA256).

[server]$ awk '{print $3}' batrockeys.pub | base64 -d | sha256sum -b | awk '{print $1}' | xxd -r -p | base64
ijqWGQW20bkvOViujUO5PRknle09aDPUjh25u60T7eQ=

Ver también

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.