Frage Was bedeutet ein Gleichheitszeichen = oder == am Ende eines öffentlichen SSH-Schlüssels?


Mir ist gerade aufgefallen, dass die meisten ssh pubkeys in meinem authorized_keys auf == oder = enden

Z.B.

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

Heute jedoch sah ich am Ende eine Kneipe ohne Gleichheitszeichen. Ich habe auch bemerkt, dass der einzige Ort, an dem ein = überhaupt in einem Pubkey auftritt, am Ende und niemals irgendwo anders ist.

Jetzt bin ich nur neugierig, was bedeutet null, ein oder zwei Gleichheitszeichen am Ende eines Pub-Schlüssels?


34
2018-02-09 13:28


Ursprung




Antworten:


Ich glaube, es gibt keinen technischen Grund, es ist lediglich ein Artefakt von Base64 und die Länge der Zeichenfolge. Probieren Sie es mit einem Base-64-Encoder aus

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]

Aber ich kann mich deswegen irren


46
2018-02-09 13:33



+ Es ist Base64-Codierung, nichts besonderes daran. Wikipedia Artikel über Base64 # Auffüllen - Chris S
Interessant, dass der relevante RFC ietf.org/rfc/rfc4716.txt erwähnt dies nicht, was vermuten lässt, dass Sie Recht haben. - dunxd
@dunxd Ich habe nur diesen RFC gescannt, aber ich glaube, das bezieht sich auf die .pub-Datei und nicht auf die authorized_keys Datei, obwohl ich denke, die gleiche Situation gilt. Da der Schlüssel binäre Daten sind, aber die Datei Text sein muss, löst Base64 dieses Problem - Smudge
@dunxd: Der RFC sagt, dass er die Base64-Kodierung verwendet und das Lesen über Base64 macht deutlich, dass es das Ende mit Pads auffüllt =. - Christoffer Hammarström
Verbunden: StackOverflow: Warum hat eine Base64-codierte Zeichenfolge ein? = Zeichen am Ende? - IQAndreas