Al conectarse a un servidor nuevo / desconocido (con OpenSSH reciente), por ejemplo:
ssh example.com
Obtiene 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 digitales 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)?
Respuestas:
Anteriormente, la huella digital se daba como un hash md5 hexadecimal. Comenzando con OpenSSH 6.8, la huella digital ahora se muestra como base64 SHA256 (por defecto). No puedes compararlos directamente.
También agregaron una nueva opción de configuración
FingerprintHash
. Puedes poneren su
~/.ssh/config
para volver al antiguo valor predeterminado ( menos seguro ) o simplemente use esta opción para un solo uso:lo que daría la huella digital como
Esperemos que los administradores del servidor proporcionen ambos tipos de huellas digitales en un futuro próximo.
EDITAR:
Como se da en los foros de Arch Linux , también hay una tercera opción:
EDITAR:
Puede generar el hash de una clave arbitraria como se indica en el libro de cocina de OpenSSH :
Recupere la clave:
ssh-keyscan example.org > key.pub
/etc/ssh
Genera el hash:
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 el antiguo OpenSSH)awk '{print $3}'
las versiones más nuevas de ssh-keyscan porque el formato cambió)fuente
ssh-keygen -lf
en el servidor sólo me da la impresión de MD5, y para la vida de mí no puedo encontrar la manera de obtener el sha256 uno, ya sea en las páginas del manual o de la www hasta ahora ...awk
1-liner (no coincide con el hash mostrado por mi cliente)sha256sum -b | awk '{print $1}' | xxd -r -p
puede ser reemplazado poropenssl sha256 -binary
no requerir vim instalado. La línea de comando resultante sería:awk '{print $2}' ~/.ssh/id_rsa.pub | base64 -d | openssl sha256 -binary | base64
Acabo de crear un pequeño script bash que imprimirá la tabla con huellas digitales para todos los cifrados de clave permitidos en el servidor (según
/etc/ssh/sshd_config
) en ambosSSH-256
yMD5
algo. Aquí hay un ejemplo de salida:El script también se ejecutará en servidores con la
SSH
versión siguiente6.8
(antes de que-E md5
se agregara la opción).Editar: versiones actualizadas para versiones aún más recientes de SSH que cambiaron los cifrados predeterminados ahora con soporte de imágenes ASCII.
Esto es bastante impreso usando la información de
JonnyJD
la respuesta de. Gracias.fuente
Resulta que ssh-keygen (en algún momento después de la versión 6.6; presumiblemente 6.8) tiene una
-E md5
opción que hará que imprima la huella digital como una huella digital md5. Por lo tanto, si puede tomar independientemente el archivo de clave pública del servidor, puede alimentarlossh-keygen -E md5 -l -f ssh_host_rsa_key.pub
y obtener su huella digital familiar.fuente
El siguiente one-liner funciona (al menos) en
Ubuntu 16.04,18.04 / Centos >= 7
(Probado con servidores:
openssh 3.9
-openssh 7.4
)Salida:
fuente
intentó modificar para obtener también arte aleatorio en la tabla:
... pero en realidad no soy programador y el script no funciona como se esperaba. Agradecería si alguien puede ayudar a arreglar (también la limpieza). Sería bueno tener imágenes de arte aleatorias sha256 y md5 juntas para usar el espacio de manera más eficiente. También modifiqué los comandos md5 y sha256 ya que los originales no funcionaron para mí (probablemente un sistema demasiado nuevo): solo sha256 apareció en la tabla con el signo "=" al final, que no era parte de la huella digital real y no podía eliminarlo.
(lo siento, no pude comentar como me registré recientemente)
fuente