147 votes

empreinte SHA256 ssh donnée par le client mais seulement empreinte md5 connue pour le serveur

Lors de la connexion à un serveur nouveau/inconnu (avec un OpenSSH récent), par exemple :

ssh example.com

Vous obtenez l'empreinte digitale comme ci-dessous :

The authenticity of host 'example.org (192.0.2.42)' can't be established.
RSA key fingerprint is SHA256:7KMZvJiITZ+HbOyqjNPV5AeC5As2GSZES5baxy1NIe4.
Are you sure you want to continue connecting (yes/no)?

Cependant, les empreintes digitales sont généralement données pour le serveur dans ce formulaire :

f6:fc:1c:03:17:5f:67:4f:1f:0b:50:5a:9f:f9:30:e5

Comment puis-je vérifier l'authenticité (sans embêter les administrateurs du serveur pour qu'ils fournissent une empreinte SHA256) ?

1voto

zeroconf Points 23

J'ai essayé de le modifier pour que l'art soit aussi aléatoire dans la table :

# standard sshd config path
SSHD_CONFIG=/etc/ssh/sshd_config

# helper functions
function tablize {
        awk '{printf("| %-7s | %-51s |\n", $1, $3)}'
}
LINE="+---------+-----------------------------------------------------+"

# header
echo $LINE
echo "Cipher" "Fingerprint" "Fingerprint" | tablize
echo $LINE

# fingerprints
for host_key in $(awk '/^HostKey/ {sub(/^HostKey\s+/,"");print $0".pub"};' $SSHD_CONFIG); do
        cipher=$(echo $host_key | sed -r 's/^.*ssh_host_([^_]+)_key\.pub$/\1/'| tr '[a-z]' '[A-Z]')
        if [[ -f "$host_key" ]]; then
                md5=$(ssh-keygen -l -f $host_key -E md5 | awk '{print $2}')
                sha256=$(ssh-keygen -l -f $host_key | awk '{print $2}')
                art_sha256=$(ssh-keygen -lv -f $host_key | grep -v -w "256 SHA256" | grep -v -w "1024 SHA256" | grep -v -w "2048 SHA256")
                art_md5=$(ssh-keygen -lv -f $host_key -E md5 | grep -v "256 MD5" | grep -v "1024 MD5" | grep -v "2048 MD5")

                echo $cipher MD5 $md5 | tablize
                echo $cipher SHA-256 $sha256 | tablize
                echo $art_sha256 | tablize
                echo $art_md5 | tablize
                echo $LINE
        fi
done

... mais je ne suis pas un programmeur en fait et le script ne fonctionne pas comme prévu. J'apprécierais si quelqu'un pouvait m'aider à le corriger (et à le nettoyer). Il serait bien d'avoir des images d'art aléatoire sha256 et md5 côte à côte pour utiliser l'espace plus efficacement. J'ai également modifié les commandes md5 et sha256 car les commandes originales n'ont pas fonctionné pour moi (probablement un système trop récent) - seul sha256 est apparu dans la table avec le signe "=" à la fin qui ne faisait pas partie de l'empreinte digitale réelle et je n'ai pas pu le supprimer.

(désolé, je n'ai pas pu commenter car je me suis inscrit récemment)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X