AWS EC2 muestra la huella digital SSH2, no la huella digital OpenSSH que todos esperan. No dice esto en la interfaz de usuario.
También muestra dos tipos completamente diferentes de huellas digitales, dependiendo de si la clave se generó en AWS y se descargó, o si cargó su propia clave pública.
Huellas digitales generadas con
ssh-keygen -l -f id_rsa
será no coincidir con lo que se muestra EC2. Puede usar las herramientas de la API de AWS para generar una huella digital con el ec2-fingerprint-key
comando o usar OpenSSL para hacerlo.
Tenga en cuenta que si originalmente generó una clave en AWS, pero luego la cargó nuevamente (por ejemplo, a otra región), obtendrá una huella digital diferente porque tomará la huella digital SSH2 RSA, en lugar de la sha1 que muestra para las claves que generado en AWS.
Diversión, ¿eh?
En lo anterior, test-generated
se generó utilizando AWS EC2. test-generated-reuploaded
es la clave pública de la clave privada AWS generada, extraída ssh-keygen -y
y cargada nuevamente. La tercera clave, test-uploaded
es una clave generada localmente ... pero la ssh-keygen -l
huella digital local es b2:2c:86:d6:1e:58:c0:b0:15:97:ab:9b:93:e7:4e:ea
.
$ ssh-keygen -l -f theprivatekey
2048 b2:2c:86:d6:1e:58:c0:b0:15:97:ab:9b:93:e7:4e:ea
$ openssl pkey -in theprivatekey -pubout -outform DER | openssl md5 -c
Enter pass phrase for id_landp:
(stdin)= 91:bc:58:1f:ea:5d:51:2d:83:d3:6b:d7:6d:63:06:d2
Claves generadas localmente
Puede usar OpenSSL, como lo demostró Daniel en los foros de AWS , para generar la huella digital en la forma utilizada por AWS para mostrar las huellas digitales de las claves públicas cargadas (SSH2 MD5), como:
7a:58:3a:a3:df:ba:a3:09:be:b5:b4:0b:f5:5b:09:a0
Se pueden generar extrayendo la parte pública de la clave privada y troceándola con:
openssl pkey -in id_rsa -pubout -outform DER | openssl md5 -c
Claves generadas en AWS
Si la huella digital de la llave que se muestra en la consola de AWS es más larga, entonces fue una clave privada generada en AWS, como:
ea:47:42:52:2c:25:43:76:65:f4:67:76:b9:70:b4:64:12:00:e4:5a
En este caso, debe utilizar el siguiente comando, también mostrado por Daniel en los foros de AWS, para generar un hash sha1 basado en la clave privada:
openssl pkcs8 -in aws_private.pem -nocrypt -topk8 -outform DER | openssl sha1 -c
en el archivo de clave / certificado privado generado por AWS descargado. También funcionará en las claves que convirtió al formato OpenSSH.
Referencias
Ver: