Come estraggo le impronte digitali da .ssh / known_hosts?


72

Il mio laptop ha un ~/.ssh/known_hostsfile ben popolato . Mi piacerebbe sfruttarlo quando mi collego ad host remoti dal mio desktop, dal momento che rintracciare le impronte digitali può essere una vera seccatura. Tuttavia, non riesco a trovare un modo per chiedere ssh-keygeno ssh-keyscandirmi l'impronta digitale conosciuta localmente per host noti. Qualche idea?

Risposte:


95

Prova questo 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)
...
...

voglio solo un singolo 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)

risorse

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


9
Grazie! Non sapevo che si potesse usare -lcon un file known_hosts. Ecco una versione che risponde ancora meglio alla mia domanda:ssh-keygen -l -f ~/.ssh/known_hosts -F example.com
— tratta bene le tue mod il

4
Per inciso, il motivo per cui -F è importante per me è che qualunque versione di SSH che ho installato ha eseguito l'hashing di tutti i nomi host nel file known_hosts. Non posso semplicemente grep per la linea che voglio. (Questa è una misura di sicurezza utile se qualcuno ottiene la mia chiave privata - è meno probabile che capiscano in quali macchine può farcela.)
— Tratta bene le tue mod

13
Vale la pena notare che le versioni recenti di openssh impostano automaticamente un hash SHA256. Per ottenere l'hash md5 precedente, usa l' -E md5opzione.
— JumperPunk

3
E se viene utilizzata una porta non standard:[example.com]:1234
— Tratta bene le tue mod

3
Per ottenere le impronte digitali della chiave host per un server SSH (sostituire l'IP di esempio con l'IP del server o il nome host):ssh-keyscan 123.123.12.34 | ssh-keygen -l -f -
— TrinitronX
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.