6

I've created a SSH authentication key (with ssh-keygen) in two different servers, both with a useful comment, but the public key of one server has == between the key and the comment, while the other has no separator at all.

Is this right?

1 Answer 1

9

You SSH key is encoded in Base 64. This format is commonly used in cryptography (and beyond) to store binary information in ASCII format.

And, in base64, the '=' sign is a padding character, with a very specific meaning:

The '==' sequence indicates that the last group contained only 1 byte, and '=' indicates that it contained 2 bytes. The example below illustrates how truncating the input of the whole of the above quote changes the output padding

source: http://en.wikipedia.org/wiki/Base64#Padding

In fact, there is no separator between the key and the comment. SSH know that the public key is composed of 3 things:

<key-type>[space]<public-key>[space]<comment>

The presence of a space at the end of the public key is the separator between the key and the comment. The equal '=' sign you are seeing simply indicates a padding at the end of the public key.

1
  • Thank you for your answer. I didn't know that the separators were just blank spaces. Commented Oct 30, 2011 at 23:12

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.