Apa arti tanda sama dengan = atau == di akhir kunci publik SSH?

39

Saya hanya memperhatikan bahwa sebagian besar ssh pubkeys di otor_keys saya diakhiri pada == atau =

Misalnya

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

Namun hari ini saya melihat seekor pubkey tanpa tanda sama dengan di akhir. Saya juga memperhatikan bahwa satu-satunya tempat di mana = pernah terjadi di pubkey adalah di akhir dan tidak pernah di tempat lain.

Sekarang saya hanya ingin tahu apa arti dari nol, satu atau dua tanda sama dengan di ujung kunci pub?

Lukas Loesche
sumber

Jawaban:

50

Saya percaya tidak ada alasan teknis, itu hanya artefak Base64 dan panjang senarnya. Cobalah dengan enkoder basis 64 apa pun

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]

Tapi saya mungkin salah tentang itu

Noda
sumber
18
+ Ini encoding base64, tidak ada yang istimewa tentang itu. Artikel Wikipedia tentang Base64 # Padding
Chris S
2
Menarik bahwa RFC ietf.org/rfc/rfc4716.txt yang relevan tidak menyebutkan ini, yang mungkin menyarankan Anda benar.
dunxd
@dunxd Saya hanya memindai melalui RFC itu tetapi saya percaya itu merujuk ke file .pub daripada authorized_keysfile, meskipun saya pikir situasi yang sama berlaku. Karena kuncinya adalah data biner tetapi file tersebut harus berupa teks, Base64 memecahkan masalah itu
Smudge
5
@dunxd: RFC memang mengatakan bahwa ia menggunakan pengkodean Base64, dan membaca tentang Base64 membuatnya jelas bahwa ia cocok dengan akhirnya =.
Christoffer Hammarström