Scroll to navigation

SSH-KEYSCAN(1) General Commands Manual SSH-KEYSCAN(1)

NOM

ssh-keyscancollecter des clefs publiques ssh

SYNOPSIS

ssh-keyscan [-46Hv] [-f file] [-p port] [-T timeout] [-t type] [host | addrlist namelist...

DESCRIPTION

ssh-keyscan est un utilitaire pour collecter les clefs d'hôtes ssh publiques de plusieurs hôtes. Il a été conçu pour assister dans la constitution et la vérification des fichiers ssh_known_hosts. ssh-keyscan fournit une interface minimale commode pour l'utilisation dans des scripts shell ou Perl.

ssh-keyscan utilise des entrées/sorties de socket non-bloquantes pour contacter autant d'hôtes que possible en parallèle, donc il est très efficace. Les clefs d'un domaine d'un millier d'hôtes peuvent être collectées en quelques dizaines de secondes, même si certains de ces hôtes ne sont pas accessibles ou n'exécutent pas ssh. Pour l'analyse, il n'est pas nécessaire de disposer d'un compte sur les machines, et le processus n'implique aucun cryptage.

Les options sont les suivantes :

Force ssh-keyscan à n'utiliser que les adresses IPv4.
Force ssh-keyscan à n'utiliser que les adresses IPv6.
file
Lit les hôtes ou les couples addrlist namelist depuis ce fichier, un par ligne. Si - est fourni à la place d'un nom de fichier, ssh-keyscan lira les hôtes ou les couples addrlist namelist depuis l'entrée standard.
Hache tous les noms d'hôtes et les adresses dans la sortie. Les noms hachés peuvent être utilisés normalement par ssh et sshd, mais ne révèlent pas d'informations d'identification dans l'hypothèse ou le contenu du fichier serait dévoilé.
port
Port où se connecter sur l'hôte distant.
timeout
Règle la temporisation pour les tentatives de connexion. Si timeout secondes se sont écoulées depuis qu'une connexion a été initiée vers un hôte ou depuis la dernière fois que quelque chose a été lu depuis cet hôte, alors la connexion est fermée et l'hôte en question est considéré indisponible. La valeur par défaut est 5 secondes.
type
Spécifie le type de clef à récupérer des hôtes analysés. Les valeurs possibles sont “rsa1” pour la version 1 du protocole et “dsa”, “ecdsa” ou “rsa” pour la version 2 du protocole. Plusieurs valeurs peuvent être spécifiées en les séparant par des virgules. La valeur par défaut est “rsa”.
Mode bavard. ssh-keyscan affichera des messages de débogage sur son avancement.

SECURITÉ

Si un fichier ssh_known_hosts est construit avec ssh-keyscan sans vérifier les clefs, les utilisateurs seront vulnérables aux attaques . D'un autre côté, si le modèle de sécurité tolère un tel risque, ssh-keyscan peut aider à la détection des fichiers de clefs falsifiés ou d'attaques man in the middle qui auraient eues lieu après la création du fichier ssh_known_hosts.

FICHIERS

Format d'entree:

1.2.3.4,1.2.4.4 name.my.domain,name,n.my.domain,n,1.2.3.4,1.2.4.4

Format de sortie pour les clefs RSA1:

host-or-namelist bits exponent modulus

Format de sortie pour les clefs RSA, DSA et ECDSA:

host-or-namelist keytype base64-encoded-key

keytype est soit “ecdsa-sha2-nistp256”, “ecdsa-sha2-nistp384”, “ecdsa-sha2-nistp521”, “ssh-dss” ou “ssh-rsa”.

/etc/ssh/ssh_known_hosts

EXEMPLES

Afficher la clef d'hôte rsa pour la machine hostname:

$ ssh-keyscan hostname

Trouver tous les hôtes depuis le fichier ssh_hosts qui ont des clefs nouvelles ou différentes de celles du fichier ssh_known_hosts:

$ ssh-keyscan -t rsa,dsa,ecdsa -f ssh_hosts | \
	sort -u - ssh_known_hosts | diff ssh_known_hosts -

VOIR AUSSI

ssh(1), sshd(8)

AUTEURS

David Mazieres ⟨dm@lcs.mit.edu⟩ a écrit la version initiale et Wayne Davison ⟨wayned@users.sourceforge.net⟩ a ajouté le support de la version du protocole version 2.

BUGS

La commande génère des messages "Connection closed by remote host" sur les consoles de toutes les machines analysées si le serveur a une version antérieure à la version 2.9. C'est parce qu'il ouvre une connexion au port ssh, lit la clef publique et lâche la connexion dès qu'il obtient la clef.

August 31, 2010 Linux 5.14.0-427.18.1.el9_4.x86_64