ssh-keyscan n'accepte pas l'option ProxyCommand de SSH. Un proxy configuré pour ssh ne configure donc pas automatiquement le scanner séparé.

Une solution consiste à utiliser un relais TCP local déjà établi qui effectue l'authentification proxy et l'échange CONNECT requis, puis expose le flux d'octets du serveur SSH visé. Si ce relais écoute sur 127.0.0.1:2222 :

ssh-keyscan -p 2222 127.0.0.1 > candidate.keys
ssh-keygen -lf candidate.keys

La première commande collecte les clés candidates, la seconde affiche leurs empreintes. Le relais doit laisser passer le flux SSH après avoir consommé la réponse complète du proxy, plutôt que de transmettre les en-têtes HTTP au scanner.

L'étiquette d'hôte dans la sortie décrit le point de terminaison local du relais. Ne l'ajoutez pas telle quelle en supposant qu'elle identifie désormais le nom d'hôte SFTP distant.

Vérifiez l'empreinte via un enregistrement de confiance ou un administrateur avant d'associer la clé à l'hôte et au port réels dans known_hosts. ssh-keyscan collecte ce que présente le point de terminaison joignable ; une connexion proxy réussie n'authentifie pas cette clé.

Articles similaires