¿Cómo extraigo las huellas digitales de .ssh / known_hosts?

72

Mi computadora portátil tiene un ~/.ssh/known_hostsarchivo bien poblado . Me gustaría aprovechar eso cuando me conecte a hosts remotos desde mi escritorio, ya que rastrear las huellas dactilares puede ser una verdadera tarea. Sin embargo, parece que no puedo encontrar una manera de preguntar ssh-keygeno ssh-keyscandecirme la huella digital conocida localmente para hosts conocidos. ¿Algunas ideas?

trata bien tus modificaciones
fuente

Respuestas:

95

Prueba este comando:

% ssh-keygen -l -f ~/.ssh/known_hosts

2048 c2:e7:c0:9f:cd:c8:54:88:ac:b3:6b:a6:51:73:2b:e3 mach1,192.168.1.3 (RSA)
2048 a2:5e:8c:4e:2e:be:be:eb:23:12:5e:fe:6c:4b:23:dd mach2,192.168.1.1 (RSA)
1024 ae:5f:bc:e3:33:c3:dd:45:1e:18:1a:46:d1:d6:d2:39 mach3,192.168.1.6 (RSA)
...
...

solo quiero un solo host:

% ssh-keygen -l -f ~/.ssh/known_hosts -F mach1
2048 c2:e7:c0:9f:cd:c8:54:88:ac:b3:6b:a6:51:73:2b:e3 mach1 (RSA)

Recursos

http://www.gossamer-threads.com/lists/openssh/users/49503

slm
fuente
99
¡Gracias! No sabía que podría usar -lcon un archivo known_hosts. Aquí hay una versión que aborda aún mejor mi pregunta:ssh-keygen -l -f ~/.ssh/known_hosts -F example.com
trata bien tus modificaciones el
44
Por cierto, la razón -F es importante para mí es que cualquier versión de SSH que haya instalado ha borrado todos los nombres de host en el archivo known_hosts. No puedo simplemente buscar la línea que quiero. (Esta es una medida de seguridad muy útil si alguna vez alguien se lleva mi clave privada - que es menos probable que averiguar lo que las máquinas que puede llevarlos a.)
el tratamiento de sus modificaciones, así
13
Vale la pena señalar que las versiones recientes de openssh tienen por defecto un hash SHA256. Para obtener el hash md5 anterior, use la -E md5opción
JumperPunk
3
Y si se usa un puerto no estándar:[example.com]:1234
trate bien sus modificaciones
3
Para obtener huellas digitales de la clave de host para un servidor SSH (reemplace la IP de ejemplo con la IP o el nombre de host de su servidor):ssh-keyscan 123.123.12.34 | ssh-keygen -l -f -
TrinitronX