GNU/Linux >> Tutoriels Linux >  >> Linux

obtenir l'empreinte de la clé SSH au format (ancien) hexadécimal sur la nouvelle version d'opensh

Le client signale le hachage sha1 de la clé du serveur sous la forme d'une séquence de 16 paires de chiffres hexadécimaux, comme ceci :

    a7:b1:3e:3d:84:24:a2:5a:91:5f:6f:e9:cf:dd:2b:6a

Ceci est un hachage MD5.

Comme vous pouvez le voir en cours d'exécution

ssh-keygen -l -E md5 -f ssh_host_ecdsa_key.pub

vous obtiendrez la même empreinte digitale dont vous avez besoin sans le harakiri que vous expliquez dans votre réponse.


Il s'avère que le livre de recettes SSH a un moyen de générer manuellement des clés dans l'ancien format hexadécimal. Je l'ai utilisé sur le serveur freebsd.

awk '{print $2}' key.pub | base64-d | md5 | sed 's/../&:/g; s/ :.*$//'

Décomposer cela :

awk '{print $2}' key.pub

imprimez la deuxième colonne (séparée par des espaces) dans "key.pub", qui est la clé elle-même

base64 -d

la clé est encodée en base64. Cela affichera les octets réels de la clé

md5

c'est l'équivalent freebsd du 'md5sum -b' qui a été spécifié dans la recette sur la page du livre de recettes ssh

sed 's/../&:/g; s/ :.*$//'

Il y a deux commandes sed ici :

s/../&:/g;

remplacer chaque paire de caractères sur la ligne (grâce au drapeau 'g' à la fin) par cette même paire suivie de deux-points

s/ :.*$//'

supprimez tous les deux-points de fin (remplacez les deux-points suivis d'un espace suivi de n'importe quoi jusqu'à la fin de la ligne par rien).


Dans des cas comme celui-ci, j'utilise le petit script suivant (testé sur Debian et Ubuntu) :

#!/bin/sh

# Gather the public ssh host keys for the given host
# and for each key print the fingerprint in hex format using the given
# checksum command (e.g. md5sum, sha256sum, ...)

if [ "$#" != 2 ]; then
  echo "usage: $0 hostname checksum_command"
  exit 1
fi

ssh-keyscan $1 2>/dev/null | while read -r line; do
  echo "Scanned key:"
  echo $line
  echo "$2 fingerprint:"
  echo $line | awk '{print $3}' | base64 -d | $2 -b | awk '{print $1}' | sed 's/../&:/g' | sed 's/:$//'
  echo
done

Exemple d'utilisation :

$ myscript host.example.com md5sum
Scanned key:
host.example.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJUXq7vpcEpnZQxxiLw/tdg8ui4LoqbW1O5nGyLtGw49
md5sum fingerprint:
6c:ef:26:f7:98:ad:ed:5b:cc:ff:83:13:46:c9:f6:79

Scanned key:
host.example.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC4aLMajBvisnWNR2VX5K1KEkNeRmzlcs+svbY6/DiumMTZNtqB5duZjGkMmEbIclHaT7rQG9efAWsNhai5cJVRZ4VX1Gu/TLycEk4OY56MrrWjQYweSUr/W6E0eVCf7gh/ym2vMcevct4373fGDdlogk9Wa97lDV6PUXRy/znxRlo3tBc6KMOZIBoPu8UjeLr2ZPNPjO6hXX/96HbYfboxjhMl5eb8AWR0MGd4qU7RZZa2XhT4/4eSo8h9gEq8V3tasB24fMdw3K+HRiDyZm8uoNq+IrJlC22pBpzxRQtsv0Nd+uC5pK/UPVI3AFfdHMrmn7IHRio8aEaTloM6MRysGMtXE0kFQ/pV2U3TBmK/9wxID83qMDsQeUH4oTyjSJ0dCBuqgVQUg44z5qXVOK7gruvZSTyH7DsIyAXhlvLNwdtXPJ4HPQ90ZxLpiFWYgSPErQgbfgKeFkoSQiSP1M+UMkITCGRKMeUeDINheRJh/5y8+C3DjE54xyI4903ztyI7HqgVTOOFCtf+dlhCuS6+J20PFXEHDMdGCwmPQrKOG9Rb4NBxuvtn7MxJnwnlIu3nhDjr8SlZDOTvuK+bLpc4AZwEsNY7ANKFvj2mqE6hjkhu+x7khg84VQ6BKOmHIQnMrCpqICaNgB7Vz2d183BETrnfKQaPh79G5cQox5vwvw==
md5sum fingerprint:
b2:9c:cd:30:b1:38:e3:d1:17:d6:73:eb:03:9a:80:83

$ myscript host.example.com sha256sum
Scanned key:
host.example.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC4aLMajBvisnWNR2VX5K1KEkNeRmzlcs+svbY6/DiumMTZNtqB5duZjGkMmEbIclHaT7rQG9efAWsNhai5cJVRZ4VX1Gu/TLycEk4OY56MrrWjQYweSUr/W6E0eVCf7gh/ym2vMcevct4373fGDdlogk9Wa97lDV6PUXRy/znxRlo3tBc6KMOZIBoPu8UjeLr2ZPNPjO6hXX/96HbYfboxjhMl5eb8AWR0MGd4qU7RZZa2XhT4/4eSo8h9gEq8V3tasB24fMdw3K+HRiDyZm8uoNq+IrJlC22pBpzxRQtsv0Nd+uC5pK/UPVI3AFfdHMrmn7IHRio8aEaTloM6MRysGMtXE0kFQ/pV2U3TBmK/9wxID83qMDsQeUH4oTyjSJ0dCBuqgVQUg44z5qXVOK7gruvZSTyH7DsIyAXhlvLNwdtXPJ4HPQ90ZxLpiFWYgSPErQgbfgKeFkoSQiSP1M+UMkITCGRKMeUeDINheRJh/5y8+C3DjE54xyI4903ztyI7HqgVTOOFCtf+dlhCuS6+J20PFXEHDMdGCwmPQrKOG9Rb4NBxuvtn7MxJnwnlIu3nhDjr8SlZDOTvuK+bLpc4AZwEsNY7ANKFvj2mqE6hjkhu+x7khg84VQ6BKOmHIQnMrCpqICaNgB7Vz2d183BETrnfKQaPh79G5cQox5vwvw==
sha256sum fingerprint:
f4:61:58:e4:90:65:c4:70:98:7f:d1:40:0a:d8:d9:79:14:e6:91:dc:b6:ed:91:8c:c0:df:d9:65:db:dd:a0:18

Scanned key:
host.example.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJUXq7vpcEpnZQxxiLw/tdg8ui4LoqbW1O5nGyLtGw49
sha256sum fingerprint:
4b:73:d1:d7:80:87:46:64:56:71:64:10:7a:66:83:9b:c7:58:39:0b:16:74:dd:9b:d9:4b:e5:d5:61:7e:99:45

Linux
  1. 3 façons de configurer SSH pour la confidentialité

  2. Comment convertir un fichier PPK en clés OpenSSH et se connecter en utilisant SSH sous Linux ?

  3. Comment obtenir en toute sécurité la version de Ksh ?

  4. Ssh - La différence entre une clé Openssh et une clé Putty ?

  5. Comment faire fonctionner Uuencode ?

Comment configurer une connexion SSH sans mot de passe

Comment générer une clé SSH dans Windows 10

Commande SSH

Comment créer une phrase de passe de clé SSH sous Linux

Effectuer SSH et SCP sans entrer de mot de passe sur openSSH

ssh :erreur lors du chargement de la clé ./id_rsa :format invalide