Scroll to navigation

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

NOM

ssh-keyscanCollecter des clés publiques SSH auprès des serveurs

SYNOPSIS

ssh-keyscan [-46cDHv] [-f fichier] [-p port] [-T délai] [-t type] [hôte | liste_adresses liste_noms]

DESCRIPTION

ssh-keyscan est un utilitaire permettant de collecter les clés d'hôte SSH publiques de plusieurs hôtes. Il a été conçu pour faciliter la constitution et la vérification des fichiers ssh_known_hosts dont le format est décrit dans sshd(8). ssh-keyscan fournit une interface minimale utilisable dans des scripts Perl ou d'interpréteur de commande.

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 clés 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 sont arrêtés ou n'exécutent pas sshd(8). Pour la collecte, il n'est pas nécessaire de se connecter aux hôtes analysés et le processus n'implique aucun chiffrement.

Les hôtes à analyser peuvent être spécifiés par nom d'hôte, adresse ou plage d'adresses réseau au format CIDR (par exemple 192.168.16/28). Dans ce dernier cas, toutes les adresses de la plage seront analysées.

Les options sont les suivantes :

Forcer ssh-keyscan à n'utiliser que des adresses IPv4.
Forcer ssh-keyscan à n'utiliser que des adresses IPv6.
Rechercher les certificats des hôtes cible au lieu des clés seules.
Afficher les clés trouvées sous le format des enregistrements DNS SSHFP. Le comportement par défaut consiste à afficher les clés sous un format utilisable en tant que fichier known_hosts de ssh(1).
fichier
Lire les hôtes ou les paires « liste_adresses liste_noms » depuis le fichier spécifié, à raison d'un hôte ou d'une paire par ligne. Si « - » est fourni à la place du nom de fichier, ssh-keyscan lira ces informations depuis l'entrée standard. Les noms lus depuis un fichier doivent commencer par une adresse, un nom d'hôte ou une plage d'adresses réseau au format CIDR pour être analysés. Les adresses et noms d'hôte peuvent être suivis d'alias de nom ou d'adresse séparés par des virgules qui seront recopiés en sortie. Par exemple :
192.168.11.0/24
10.20.1.1
content.example.org
10.0.0.1,pas_content.example.org
Hacher tous les noms d'hôte et adresses en sortie. Les noms hachés peuvent être utilisés normalement par ssh(1) et sshd(8), mais ne révèlent aucune information d'identification, dans l'hypothèse où le contenu du fichier serait dévoilé.
port
Se connecter au port spécifié sur l'hôte distant.
délai
Définir le délai pour les tentatives de connexion. Si délai 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, la connexion est fermée et l'hôte en question est considéré comme indisponible. La valeur par défaut est 5 secondes.
type
Spécifier le type de clé à collecter depuis les hôtes analysés. Les valeurs possibles sont « dsa », « ecdsa », « ed25519 », « ecdsa-sk », « ed25519-sk » ou « rsa ». Plusieurs valeurs peuvent être spécifiées en les séparant par des virgules. Le comportement par défaut consiste à collecter les clés de type « rsa », « ecdsa », « ed25519 », « ecdsa-sk » et « ed25519-sk ».
Mode prolixe : afficher des messages de débogage sur l'avancement des opérations.

Si un fichier ssh_known_hosts est construit en utilisant ssh-keyscan sans vérifier les clés, les utilisateurs seront vulnérables aux attaques de type (man in the middle). 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 clés falsifiés ou d'attaques de type homme du milieu qui auraient débuté après la création du fichier ssh_known_hosts.

FICHIERS

/etc/ssh/ssh_known_hosts

EXEMPLES

Afficher la clé d'hôte RSA pour la machine nom_hôte  :

$ ssh-keyscan -t rsa nom_hôte

Analyser une plage d'adresses réseau en affichant tous les types de clé pris en charge :

$ ssh-keyscan 192.168.0.64/25

Rechercher tous les hôtes dans le fichier hôtes_ssh qui possèdent de nouvelles clés ou des clés différentes de celles enregistrées dans le fichier trié ssh_known_hosts  :

$ ssh-keyscan -t rsa,dsa,ecdsa,ed25519 -f hôtes_ssh | \
	sort -u - ssh_known_hosts | diff ssh_known_hosts -

VOIR AUSSI

ssh(1), sshd(8) Using DNS to Securely Publish Secure Shell (SSH) Key Fingerprints, RFC 4255, 2006.

AUTEURS

David Mazieres <dm@lcs.mit.edu> a écrit la version initiale et Wayne Davison <wayned@users.sourceforge.net> a ajouté la prise en charge de la version 2 du protocole.

TRADUCTION

La traduction française de cette page de manuel a été créée par Lucien Gentis <lucien.gentis@waika9.com>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org

$Mdocdate: 28 octobre 2022 $ Debian