SSH ortak anahtarının sonunda eşittir işaretinin = veya == anlamı nedir?


39

Onaylanmış benim anahtarlarımdaki ssh pubkey'lerinin çoğunun == veya = ile bittiğini fark ettim.

Örneğin

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

Ancak bugün sonunda eşit işareti olmayan bir pubkey gördüm. Ayrıca, bir = bir pubkey'de meydana gelen tek yerin sonunda ve hiçbir zaman başka bir yerde olmadığını fark ettim.

Şimdi sadece bir pub anahtarının sonunda sıfır, bir veya iki eşittir işaretinin ne anlama geldiğini merak ediyorum.

Yanıtlar:


50

Teknik bir neden olmadığına inanıyorum, yalnızca Base64'ün bir eseri ve ipin uzunluğu. Herhangi bir 64 taban kodlayıcıyla deneyin

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]

Fakat bu konuda yanılmış olabilirim


18
+ Base64 kodlaması var, bu konuda özel bir şey yok. Base64 # Padding hakkındaki Wikipedia yazısı
Chris S

2
İlgili RFC'nin ietf.org/rfc/rfc4716.txt adresinden bu konuda bir şey ifade etmemesi ilginçtir ;
dunxd

@dunxd Yalnızca bu RFC'yi taradım ancak authorized_keysaynı durumun geçerli olduğunu düşündüğüm halde dosyadan ziyade .pub dosyasına başvurduğuna inanıyorum. Anahtar ikili veri olduğundan ancak dosyanın metin olması gerektiğinden, Base64 bu sorunu çözdü
Smudge

5
@dunxd: RFC, Base64 kodlamasını kullandığını söylüyor ve Base64 hakkında okumak, sonunun durduğunu açıkça gösteriyor =.
Christoffer Hammarström

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.