Durante la connessione a un server SSH, il client memorizza i pochi dettagli come il nome host, l'indirizzo IP e la chiave host del server in un nome file known_hosts . Questo file si troverà in te ~/.ssh directory come mostrato di seguito:
Techglimpse.com,192.168.10.12 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA01yz1a/UkkdKsqNIfALi13OmJ305weWukUtdG5WY2xKBzc3UDqBTVndbpzMEeXl/A/4SAPdc/dUUVNYJWHc8SvcFa2n+NXduq6UPmimJYxX0glHLql9rhX9X6BrpYq93J08tcdPJlS88AF86oL0HRk1l3whN8x7v62UfPSF3/apihx5PQVEYI0rL47wi6gYPRb70CiEn1MCvIJLeyBaIjvhZ+LKsXhNafahGo36Ck7Tf2iqTNuuy56U/ijt0MHg3kOwEecVVbWS3RSASQCfu345BK2a4soeIG1JpfTakz23Cb5T76wBM63uUDvFmmjn+ljZlNafN/AQLwIfYyxQ/pw==
Questo file contiene l'elenco di tutti i server a cui ci si connette in un testo normale. Rappresenta un piccolo rischio per la sicurezza se l'host è condiviso o il tuo client viene compromesso. Questo può essere evitato eseguendo l'hashing del file known_hosts. L'hashing del fileknown_hosts è facile, basta usare il comando ssh-keygen come mostrato di seguito:
Thu Nov 21>$ ssh-keygen -H -f known_hosts known_hosts updated. Original contents retained as known_hosts.old WARNING: known_hosts.old contains unhashed entries Delete this file to ensure privacy of hostnames Thu Nov 21>$ rm -rf known_hosts.old
Nota:è necessario eliminare il file di backup known_hosts.old
Ecco come appare il file known_hosts dopo oscuro :
|1|tLNDSqW6e4t2qiTRia319tcpr6s=|2vWa2a/276pFWvQWY3jPukIt7OE= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAzhZmG33G/3FG3vm0eDdyX1u++i0ceakIkJNgDxVVy6MpodRrpwqXXQj8/OGT Iwb4YpRXGuL3236IkGugI9GUgFd00UNjMSMt3pqob4hKsEzADl7YfZeV1X7X0b617nze0otdO7TwDMlQ/5KWUwdUoxg50VfpieTzcOpUN/G4J159iKZ41iSF7o4vI+fYisX8y5rJ1BRbt1HO0Gi7w9HZ8tN0B 0glM6JKyoE8TjvbZAeD9PWIWp9JpG1KTY4yXTV1B1CyvtxjRqTMm8mcb+gSGGvv6mSlWCNxJnlXhp91F2GtmgzKsE3FjcMUfkn3c0+P0bKaR8L3GtbyaXJmtDX4xQ== |1|wlPQdgFoYgYsqG6ae20lYopRLPI=|p61txQKmb+Hn49dsD+v0CNuEKd4= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAzhZmG33G/3FG3vm0eDdyX1u++i0ceakIkJNgDxVVy6MpodRrpwqXXQj8/OGT Iwb4YpRXGuL3236IkGugI9GUgFd00UNjMSMt3pqob4hKsEzADl7YfZeV1X7X0b617nze0otdO7TwDMlQ/5KWUwdUoxg50VfpieTzcOpUN/G4J159iKZ41iSF7o4vI+fYisX8y5rJ1BRbt1HO0Gi7w9HZ8tN0B 0glM6JKyoE8TjvbZAeD9PWIWp9JpG1KTY4yXTV1B1CyvtxjRqTMm8mcb+gSGGvv6mSlWCNxJnlXhp91F2GtmgzKsE3FjcMUfkn3c0+P0bKaR8L3GtbyaXJmtDX4xQ==
Sebbene la procedura sopra oscuri tutte le chiavi host esistenti, tutte le nuove chiavi host che vengono aggiunte al tuo file known_hosts dopo che hai eseguito l'hashing non vengono sottoposte a hash per impostazione predefinita!
Per renderlo predefinito, crea un file chiamato config nella directory ~/.ssh/ e aggiungi la direttiva seguente:
HashKnownHosts yes