Me gustaría ver qué hosts hay en mi archivo known_hosts, pero no parece ser legible para humanos. ¿Es posible leerlo?
Más específicamente, hay un host al que puedo conectarme a través de varios nombres y quiero saber cuál es la huella digital que espero de mi archivo de hosts conocido.
Actualización: estoy usando OpenSSH_5.3p1 Debian-3ubuntu7, OpenSSL 0.9.8k 25 mar 2009
Una línea de mi archivo known_hosts se parece a esto,
|1|guO7PbLLb5FWIpxNZHF03ESTTKg=|r002DA8L2JUYRVykUh7jcVUHeYE= ssh-rsa AAAAB3NzaC1yc2EAAFADAQABAAABAQDWp73ulfigmbbzif051okmDMh5yZt/DlZnsx3DEOYHu3Nu/+THJnUAfkfEc1XkOFiFgbUyK/08Ty0K6ExUaffb1ERfXXyyp63rpCTHOPonSrnK7adl7YoPDd4BcIUZd1Dk7HtuShMmuk4l83X623cr9exbfm+DRaeyFNMFSEkMzztBYIkhpA2DWlDkd90OfVAvyoOrJPxztmIZR82qu/5t2z58sJ6Jm2xdp2ckySgXulq6S4k+hnnGuz2p1klviYCWGJMZfyAB+V+MTjGGD/cj0SkL5v/sa/Fie1zcv1SLs466x3H0kMllz6gAk0/FMi7eULspwnIp65g45qUAL3Oj

Respuestas:
Has
HashKnownHostsconfigurado "yes" en tussh_configarchivo, por lo que los nombres de host no están disponibles en texto sin formato.Si conoce el nombre de host que está buscando con anticipación, puede buscarlo con:
Aquí está la sección relevante de la
ssh-keygen(1)página del manual:fuente
22, entonces el formatoknown_hostses diferente. Luego debe usar el siguiente comando:ssh-keygen -H -F [host.example.com]:2222Para futuros buscadores, este artículo (sin descargo de responsabilidad: no estoy afiliado) tiene un script de Perl relativamente simple para forzar direcciones IP y nombres de host con fuerza bruta
known_hosts.http://blog.rootshell.be/2010/11/03/bruteforcing-ssh-known_hosts-files/
Permite comenzar desde una dirección IP particular. También podría modificarse fácilmente para usar un diccionario.
Además, en junio de 2014, el proyecto John the Ripper agregó soporte para el craqueo de hosts conocidos , que puede aprovechar múltiples núcleos de CPU, GPU, administración de diccionarios, etc.
También puede usar este fragmento de nmap para generar un diccionario de todas las direcciones IP RFC1918 para usar como diccionario:
fuente
No
ssh-keygen -l -f ~/.ssh/known_hostsayudar? (Utilizando-vtambién obtienes bonitos mapas del tesoro, por ejemplofuente
ssh-keygen -l -f ~/.ssh/known_hosts -F <hostname>ssh-keygen -l -F <hostname>es aún más simpleHay una cadena / ip de host al principio de cada línea "hosts_hosts "(antes de la cadena" ssh-dss "o" ssh-rsa "):
fuente
awk '{print $1}' known_hostsfunciona el truco. Tenga en cuenta que los servidores que escuchan en puertos no estándar terminan como, por ejemplo,[some-server]:5555enknown_hosts.Use la
-lopción parassh-keygenenumerar huellas digitales y la-Fopción de buscar un nombre de host en suknown_hostsarchivo.Puede usar
ssh-keyscanpara comparar la huella digital en suknown_hostscon la del servidor.fuente