Quelle est la signification d'un signe égal = ou == à la fin d'une clé publique SSH?


39

Je viens de remarquer que la plupart des pubkeys ssh de ses allowed_keys se terminent par == ou =

Par exemple

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA9ZUwxXn2HZAAUswoaV8t2sQPvolVWDI053f0giNN154Zyi9FtWJKvyLHXoxW4IzFxgx+m6EYqXG/XCtfamLhwvGZv9FXkgQKeF6HJv/rjyKRBHPRyX0vV4S9uQU+xQV7f0Ock3urSzbUyoCgngA8Ax6AkYGmMTLLjx1HOBO/TJ477aysWt4IAg1gviT50I4xOYiHT4vC67czoDTnPl0UfKQJaM0+6WrneK7FJbd/8CAX7P7IxOhj1OxVbnEoh9FvecLbSDdOx/LF+kJcav/LThuoG7NR+Y+rS9lNkta3/KPi3IBMPum+bZpXJF7fkHl9Kx/iOMitT7KjNW/mty74xw== foo@bar

Cependant, aujourd'hui, j'ai vu un pubkey sans signe égal à la fin. En outre, j'ai remarqué que le seul endroit où un événement se produit dans une clé publique est à la fin et jamais ailleurs.

Maintenant, je suis juste curieux de savoir quelle est la signification de zéro, un ou deux signes égaux à la fin d'une clé de pub?

Réponses:


50

Je crois qu'il n'y a pas de raison technique, c'est simplement un artefact de Base64 et la longueur de la chaîne. Essayez-le avec n'importe quel encodeur base 64

1     -> MQ==     (1 characters, 2 equals)
12    -> MTI=     (2 characters, 1 equals)
123   -> MTIz     (3 characters, 0 equals)
1234  -> MTIzNA== (4 characters, 2 equals)
[repeat]

Mais je peux me tromper à ce sujet


18
+ C'est un encodage base64, rien de spécial à ce sujet. Article Wikipedia sur Base64 # Padding
Chris S

2
Il est intéressant de noter que le RFC approprié, ietf.org/rfc/rfc4716.txt, ne mentionne pas cela, ce qui peut suggérer que vous avez raison.
dimanche

@dunxd Je n'ai parcouru que cette RFC, mais je pense que cela fait référence au fichier .pub plutôt qu'au authorized_keysfichier, bien que je pense que la même situation s'applique. Puisque la clé est constituée de données binaires mais que le fichier doit être du texte, Base64 résout ce problème
Smudge

5
@dunxd: le RFC dit qu'il utilise l'encodage Base64, et lire à propos de Base64 indique clairement qu'il met la fin =.
Christoffer Hammarström

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.