Pregunta:
Al conectarse a un servidor nuevo / desconocido (con OpenSSH reciente), por ejemplo:
ssh example.com
Obtienes la huella digital como a continuación:
The authenticity of host 'example.org (192.0.2.42)' can't be established.
RSA key fingerprint is SHA256:7KMZvJiITZ+HbOyqjNPV5AeC5As2GSZES5baxy1NIe4.
Are you sure you want to continue connecting (yes/no)?
Sin embargo, las huellas dactilares generalmente se dan para el servidor de esta forma:
f6:fc:1c:03:17:5f:67:4f:1f:0b:50:5a:9f:f9:30:e5
¿Cómo puedo verificar la autenticidad (sin molestar a los administradores del servidor para que proporcionen una huella digital SHA256)?
Respuesta:
Anteriormente, la huella dactilar se proporcionaba como un hash md5 hexadecimal. A partir de OpenSSH 6.8, la huella digital ahora se muestra como base64 SHA256 (de forma predeterminada). No puedes compararlos directamente.
También agregaron una nueva opción de configuración FingerprintHash
. Puedes poner
FingerprintHash md5
en su ~/.ssh/config
para volver al valor predeterminado anterior ( menos seguro ) o simplemente use esta opción para un solo uso:
ssh -o FingerprintHash=md5 example.org
que daría la huella digital como
MD5:f6:fc:1c:03:17:5f:67:4f:1f:0b:50:5a:9f:f9:30:e5
Es de esperar que los administradores del servidor proporcionen ambos tipos de huellas digitales en un futuro próximo.
EDITAR:
Como se indica en los foros de Arch Linux , también hay una tercera opción:
Host example.org
FingerprintHash md5
EDITAR:
Puede generar el hash de una clave arbitraria como se indica en el libro de cocina de OpenSSH :
Recuperar la clave:
- descargue la clave con
ssh-keyscan example.org > key.pub
- o: busque las claves en el servidor en
/etc/ssh
Genera el hash:
- asegúrese de tener solo una línea / tipo, así que elimine todos los demás en
key.pub
o ejecutessh-keyscan -t rsa example.org > key.pub
-
ssh-keygen -l -f key.pub
(hash predeterminado, según la versión de OpenSSH) -
ssh-keygen -l -f key.pub -E md5
(md5 en OpenSSH actual) -
awk '{print $2}' ssh_host_rsa_key.pub | base64 -d | sha256sum -b | awk '{print $1}' | xxd -r -p | base64
(sha256 en OpenSSH antiguo) - (Es posible que deba comenzar la línea con
awk '{print $3}'
para versiones más nuevas de ssh-keyscan porque el formato cambió)