Lorsque vous vous connectez via ssh, vous pouvez voir ce qui suit sur auth.log:
Dec 14 16:29:30 app sshd[22781]: Accepted publickey for dev from XXX.XXX.XX.XXX port XXXXX ssh2: RSA SHA256:pO8i...
J'ai essayé de comprendre ce que sont ces informations SHA256, mais je n'ai rien trouvé qui semble correspondre. J'ai d'abord pensé que cela pourrait être des informations du client (clé publique, empreinte digitale, nom d'hôte haché, etc.) à partir desquelles je me connecte, mais je n'ai rien trouvé à confirmer, ni côté serveur.
L'information la plus proche que j'ai trouvée est ici , mais je n'ai pas compris quand elle dit "Et voici un exemple utilisant une clé pour l'authentification. Il montre l'empreinte digitale kewy (une faute d'orthographe, probablement) comme un hachage SHA256 en base64. ", car je n'ai trouvé aucune empreinte digitale correspondante.
Je vous remercie.
C'est le SHA256
hachage pour la clé publique RSA qui a été utilisée pour authentifier la session SSH.
Voici comment le vérifier:
ssh-keygen -lf .ssh/id_rsa.pub
Ou, pour vérifier sans ssh-keygen
:
ssh-rsa
préfixebase64
SHA256
hash pour la clé (en octets, pas hex)base64
Par exemple:
cat .ssh/id_rsa.pub |
awk '{ print $2 }' | # Only the actual key data without prefix or comments
base64 -d | # decode as base64
sha256sum | # SHA256 hash (returns hex)
awk '{ print $1 }' | # only the hex data
xxd -r -p | # hex to bytes
base64 # encode as base64
Eu la même question sur macOS 10.13.6, où votre réponse avait juste besoin de quelques ajustements:
cat .ssh/id_rsa.pub |
awk '{ print $2 }' | # Only the actual key data without prefix or comments
base64 -D | # decode as base64
shasum -a 256 | # SHA256 hash (returns hex)
awk '{ print $1 }' | # only the hex data
xxd -r -p | # hex to bytes
base64 # encode as base64
Merci beaucoup.