Назад | Перейти на главную страницу

Что означает знак равенства = или == в конце открытого ключа SSH?

Я только что заметил, что большинство ключей ssh ​​pubkeys в моих authorized_keys заканчиваются на == или =

Например.

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

Однако сегодня я увидел pubkey без знака равенства в конце. Также я заметил, что единственное место, где знак = ever встречается в pubkey, - это конец, а не где-либо еще.

Теперь мне просто интересно, что означают ноль, один или два знака равенства в конце ключа pub?

Я считаю, что нет никакой технической причины, это просто артефакт Base64 и длины строки. Попробуйте это с любым кодировщиком 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]

Но я могу ошибаться в этом