Je voudrais voir quels hôtes sont dans mon fichier known_hosts mais il ne semble pas être lisible par l'homme. Est-il possible de le lire?
Plus précisément, il existe un hôte auquel je peux me connecter via plusieurs noms et je souhaite connaître le type d'empreinte que j'attends de mon fichier d'hôtes connu.
Mise à jour: j'utilise OpenSSH_5.3p1 Debian-3ubuntu7, OpenSSL 0.9.8k 25 Mars 2009
Une ligne de mon fichier known_hosts ressemble à ceci,
|1|guO7PbLLb5FWIpxNZHF03ESTTKg=|r002DA8L2JUYRVykUh7jcVUHeYE= ssh-rsa AAAAB3NzaC1yc2EAAFADAQABAAABAQDWp73ulfigmbbzif051okmDMh5yZt/DlZnsx3DEOYHu3Nu/+THJnUAfkfEc1XkOFiFgbUyK/08Ty0K6ExUaffb1ERfXXyyp63rpCTHOPonSrnK7adl7YoPDd4BcIUZd1Dk7HtuShMmuk4l83X623cr9exbfm+DRaeyFNMFSEkMzztBYIkhpA2DWlDkd90OfVAvyoOrJPxztmIZR82qu/5t2z58sJ6Jm2xdp2ckySgXulq6S4k+hnnGuz2p1klviYCWGJMZfyAB+V+MTjGGD/cj0SkL5v/sa/Fie1zcv1SLs466x3H0kMllz6gAk0/FMi7eULspwnIp65g45qUAL3Oj
Réponses:
Vous avez
HashKnownHosts
défini "yes
" dans votressh_config
fichier, les noms d’hôte ne sont donc pas disponibles en texte brut.Si vous connaissez le nom d'hôte que vous recherchez à l'avance, vous pouvez le rechercher avec:
Voici la section pertinente de la
ssh-keygen(1)
page de manuel:la source
22
, le format enknown_hosts
est différent. Ensuite, vous devez utiliser la commande suivante:ssh-keygen -H -F [host.example.com]:2222
Pour les futurs chercheurs, cet article (non-disclaimer: je ne suis pas affilié) contient un script Perl relativement simple permettant de brouiller la force des adresses IP et des noms d'hôtes
known_hosts
.http://blog.rootshell.be/2010/11/03/bruteforcing-ssh-known_hosts-files/
Il permet de partir d'une adresse IP particulière. Il pourrait également être facilement modifié pour utiliser un dictionnaire.
En outre, en juin 2014, le projet John the Ripper a ajouté la prise en charge de la fissuration de unknown_hosts , qui peut tirer parti de plusieurs cœurs de processeur, processeurs graphiques, gestion de dictionnaire, etc.
Vous pouvez également utiliser cet extrait de code pour générer un dictionnaire de toutes les adresses IP RFC1918 à utiliser comme dictionnaire:
la source
Est-ce que ça
ssh-keygen -l -f ~/.ssh/known_hosts
aide? (En utilisant-v
vous obtenez aussi de jolies petites cartes au trésor, par exemplela source
ssh-keygen -l -f ~/.ssh/known_hosts -F <hostname>
ssh-keygen -l -F <hostname>
c'est encore plus simpleIl existe une chaîne / ip au début de chaque ligne "known_hosts" (avant la chaîne "ssh-dss" ou "ssh-rsa"):
la source
awk '{print $1}' known_hosts
le tour. Sachez que les serveurs qui écoutent sur des ports non standard se retrouvent sous, par exemple,[some-server]:5555
dansknown_hosts
.Utilisez l'
-l
option pourssh-keygen
répertorier les empreintes digitales et l'-F
option pour rechercher un nom d'hôte dans votreknown_hosts
fichier.Vous pouvez utiliser
ssh-keyscan
pour comparer l’empreinte de votreknown_hosts
serveur à celle du serveur.la source